Плагин автоматической перезагрузки Rails в режиме разработки

Я пытаюсь получить плагин, который я разрабатываю с автоперезагрузкой каждый раз, когда меняю код, эмулируя ту же автоперезагрузку, которая обычно происходит в режиме разработки Rail. Мой плагин - это в первую очередь модуль микширования ActiveRecord. Я перепробовал все предложения, которые мне удалось найти в связанных поисках Google. Ничего еще не сработало.

В init.rb моего плагина:

require 'activesupport' unless defined? ActiveSupport
require 'activerecord' unless defined? ActiveRecord

if RAILS_ENV == 'development'
    ActiveSupport::Dependencies.load_once_paths.delete lib_path
    ActiveSupport::Dependencies.load_once_paths.delete File.join(lib_path, 'crowd_compass', 'publisher.rb')

    ActiveSupport::Dependencies.load_paths << lib_path
    ActiveSupport::Dependencies.load_paths << File.join(lib_path, 'crowd_compass', 'publisher.rb')
end

ActiveRecord::Base.send(:include, CrowdCompass::Publisher)

Просматривая журнал изменений, я заметил функцию автоматической перезагрузки всех плагинов.

config.reload_plugins = true if RAILS_ENV == 'development'

Это не сработало, как я ожидал, когда я добавил его в свой conf / environment.rb

Мой плагин структурирован так, что все файлы автоматически загружаются по каталогу namespace =>. Я сделал это, чтобы избежать использования «require», так как я думал, что require запрещает автоматическую перезагрузку моего плагина.

Я выполняю всю свою работу в режиме разработки через консоль rails, и я не знаю, ведет себя ли это иначе, чем работа через mongrel (или как веб-сервер).

Плагин работает, как и ожидалось, но мне приходится перезагружать каждый раз, когда я делаю какие-либо изменения в коде. Кто-нибудь знает способ заставить плагины перезагрузить?

Ответы на вопрос(1)

Ваш ответ на вопрос