Я пытаюсь обезопасить существующий ActiveRecord Observer; в частности, IssueObserver из базы кода Redmine 1.0.4.
В плагине init.rb
я включаю файл *patch.rb
:
require File.join(File.dirname(__FILE__), 'lib/issue_observer_patch.rb')
IssueObserver.send :include, IssueObserverPatch
Это делается вне блока Redmine::Plugin.register
.
Модуль делает что-то вроде:
module IssueObserverPatch
def self.included(base)
base.send :alias_method_chain, :after_create, :audit
end
def after_create_with_audit(issue)
after_create_without_audit(issue)
issue.logger.info('***'*50)
# Insert a new Audit instance.
end
end
Однако, когда я запускаю сервер (используя script/server
, который использует Mongrel), патч, похоже, ничего не делает. Строка ***..***
не регистрируется при создании новой проблемы.
Путем изменения IssueObserver
и включения предложения для записи события after_create, а затем запуска сервера и создания проблемы; Я вижу этот журнал, но не метод входа after_create_with_audit
.
Есть ли какой-нибудь правильный способ исправления Обозревателя ActiveRecord?