这是一个明确的新问题:
我在lib/
目录中定义了一个模块,我从扫地机调用并作为rake任务调用。在模块内部,我想引用我的spawn
插件。只包含该插件中的方法不起作用(未定义的方法错误),也没有尝试过任何版本的require或include。我需要做些什么才能加入它?
谢谢!
修改
这是我最近的努力:
require 'vendor/plugins/spawn/init.rb'
module MyModule
include Spawn
def self.my_method
spawn(:method => :thread, :nice => 9) do # also tried Spawn::spawn
...
end
end
end
我得到的错误是:
undefined method 'spawn' for MyModule:Module #spawn
或undefined method 'spawn' for Spawn:Module # Spawn::spawn
答案 0 :(得分:0)
包含必须在插件中完成。当您“重新打开”某个模块(位于lib / dir中)时,请记住在对其进行更改(模块)之前需要原始文件。
编辑: 考虑到插件是第三方,您可以尝试:
Spawn.module_eval do
module_function :spawn
public :spawn
end
module MyModule
def self.my_method
Spawn.spawn(...)
end
end