0

我正在尝试使用他们的 API 为我的网站获取一些 chartbeat.com 统计信息。使用 Python chartbeat egg 可以正常工作,但使用 Ruby 我很难通过第一阶段。最终,我的目标是提取 chartbeat quickstats 数组(当前用户、每秒速率等)并将其发送到graphite,并守护整个事情。

我对编程方法、理论和实践有很好的理解,我对 Ruby 语法非常熟悉,并尝试阅读符号、方法(私有/公共),但似乎无法让 Ruby 与我的脑。我认为这很可能是我的问题所在。

据我了解,我不必做puts类似的事情。调用quickstatson 方法c应该打印通过 GEM 从 chartbeat API 返回的任何内容。

chartbeat gem 来自https://github.com/ashaw/chartbeat。我的红宝石是Ruby 1.9.3p362 (2012-12-25 revision 38607) [x86_64-darwin12].

当我运行我的脚本时,我得到了这个:

/opt/local/lib/ruby1.9/gems/1.9.1/gems/chartbeat-0.2.2/lib/chartbeat.rb:31:in `[]': can't convert Symbol into Integer (TypeError)
from /opt/local/lib/ruby1.9/gems/1.9.1/gems/chartbeat-0.2.2/lib/chartbeat.rb:31:in `block in method_missing'
from /opt/local/lib/ruby1.9/gems/1.9.1/gems/chartbeat-0.2.2/lib/chartbeat.rb:30:in `each'
from /opt/local/lib/ruby1.9/gems/1.9.1/gems/chartbeat-0.2.2/lib/chartbeat.rb:30:in `method_missing'
from /Users/jed/Documents/workspace/chartbeat2graphite/c2b.rb:8:in `<main>'

代码是:

require 'chartbeat'
require 'graphite'
require 'daemonize'

c = Chartbeat.new(:apikey => "sadfklj09238402938" , :host => "lipsum.com")

c.quickstats :path => '/'
4

1 回答 1

1

我不确定,但您实际使用的 gem 可能无法正常工作。宝石似乎已经两年没有更新了。

查看 fork,我发现qhduong/chartbeat更新它以使用新的 URI,或者DramaFever/chartbeat也这样做但有区别。我不知道它们是否会影响它的运行方式。

于 2013-01-13T03:22:38.320 回答