我正在尝试使用他们的 API 为我的网站获取一些 chartbeat.com 统计信息。使用 Python chartbeat egg 可以正常工作,但使用 Ruby 我很难通过第一阶段。最终,我的目标是提取 chartbeat quickstats 数组(当前用户、每秒速率等)并将其发送到graphite,并守护整个事情。
我对编程方法、理论和实践有很好的理解,我对 Ruby 语法非常熟悉,并尝试阅读符号、方法(私有/公共),但似乎无法让 Ruby 与我的脑。我认为这很可能是我的问题所在。
据我了解,我不必做puts
类似的事情。调用quickstats
on 方法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 => '/'