コマンド ラインから example.rb ファイルに示されているように、 em-dir-watcherを使用して成功しましたが、別のクラスからメソッドを呼び出す必要があることに気付いたので、代わりにスクリプト/ランナー ルートを選択し、Rails を呼び出しました。
サンプル コードをコピーして貼り付け、self.methodName 内に配置すると、次のエラーが発生しました。
myapp/vendor/rails/railties/lib/commands/runner.rb:48: EventMachine:Module の未定義メソッド `watch' (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"
それでもエラーが発生します。私は何を間違っていますか?