Используя Rails 2.3.11, я создаю плагин для Redmine, который добавляет методы в ApplicationController
.
Я создал следующий модуль в плагине:
module ApplicationControllerPatch
def self.included(base) # :nodoc:
base.class_eval do
rescue_from AnException, :with => :rescue_method
def rescue_method(exception)
...
end
end
end
end
Теперь, если я включу этот модуль прямо в файл application_controller.rb
, вот так:
class ApplicationController < ActionController::Base
include ApplicationControllerPatch
...
end
Все работает отлично, однако я хотел бы избежать редактирования основного исходного кода, включив этот модуль из самого подключаемого модуля. До сих пор, если я делаю:
ApplicationController.send(:include, ApplicationControllerPatch)
непосредственно из этого файла модуля (находится в папке плагина). Это будет правильно загружаться для запроса, а затем оно будет перезаписано контроллером (я думаю).
Как это сделать?