0

API を使用して、サイトの chartbeat.com 統計を取得しようとしています。Python chartbeat Egg の使用は問題なく機能しますが、Ruby では最初のフェーズを通過するのに苦労しています。最終的に、私の目標は chartbeat クイック統計配列 (現在のユーザー、1 秒あたりのレートなど) をプルしてグラファイトに送信し、すべてをデーモン化することです。

私はプログラミングの方法論、理論、および実践について十分に理解しています。私は Ruby の構文に非常に慣れており、シンボル、メソッド (プライベート/パブリック) を読んでみましたが、Ruby が私のコードでうまく動作するようには思えません。脳。それが私の問題である可能性が最も高いと思います。

私が理解していることから、私はそのようなことをする必要はありませんputsquickstatson でメソッドを呼び出すと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 は 2 年間更新されていないようです。

フォークを見ると、新しい URI を使用するように更新する qhduong/chartbeat、または同じことを行ったが違いがある DRAMAFever/chartbeat が見つかりました。それらが実行方法に影響を与えるかどうかはわかりません。

于 2013-01-13T03:22:38.320 に答える