Включить плагин в модуль в Rails - PullRequest
0 голосов
/ 14 июля 2011

Это определенный вопрос новичка:

У меня есть модуль, определенный в моей директории lib/, который я вызываю из подметальной машины и как задача rake.Внутри модуля я хочу сослаться на мой spawn плагин.Простое включение методов из этого плагина не работает (неопределенная ошибка метода), и при этом ни одна версия не требует или не включает то, что я пробовал.Что мне нужно сделать, чтобы включить его?

Спасибо!

РЕДАКТИРОВАТЬ:

Вот мои последние усилия:

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

1 Ответ

0 голосов
/ 14 июля 2011

Включение должно быть сделано из плагина.Когда вы «вновь открываете» модуль (который находится в lib / dir), не забудьте запросить исходный файл, прежде чем вносить в него изменения (модуль).

РЕДАКТИРОВАТЬ: Учитывая, что плагин является сторонним, выможно попробовать:

Spawn.module_eval do
  module_function :spawn
  public :spawn
end

module MyModule
  def self.my_method
    Spawn.spawn(...)
  end
end
...