2011-01-19 3 views
1

em-dir-watcherのコマンドラインからexample.rbファイルに示されているように正常に使用しましたが、別のクラスのメソッドを呼び出す必要があることがわかったので、スクリプト/代わりに、経路を呼び出す。スクリプト/ランナーの中でEventMachineを実行する

は、私はコピー/サンプルコードを貼り付けるとself.methodNameの内側に配置し、このエラーが発生しました:

myappに/ベンダー/レール/ railties/libに/コマンド/ runner.rb:48:未定義のメソッド `時計を「EventMachineについて:モジュール(NoMethodError)

私のような完全な単純なものを実行している場合でも:

def self.watcher 
    EM.run { 
     dw = EMDirWatcher.watch '.' do |paths| 
      paths.each do |path| 
       puts path 
      end 
     end 
     puts "Monitoring" 
    } 
end 

およびスクリプト/ランナーを起動します。

script/runner "require 'rubygems'; require 'em-dir-watcher'; Myclass.watcher" 

まだエラーが発生します。私は間違って何をしていますか?

答えて

1

スタックを並べ替えようとした後、em-dir-watcherとscript/runnerの間に本質的に変わったやりとりがあると結論づけました。同じタスク(directory_watcher)を実行できる別のイベントマシンベースの宝石に移動した後、すべてがうまくいった。

私は、2つの宝石の間にパフォーマンスと機能のトレードオフがあることを知っていますが、私の目的のために違いは気付きません。

関連する問題