如何升级 redmine 插件,alias_method_chain 已弃用

问题描述

我正在尝试将我当前的 redmine 迁移到更新版本,但在升级插件之一时遇到了一些问题 - nxs-chat-redmine

我没有 Ruby 方面的经验,但据我所知,它的某些方法在当前版本中已被弃用。

当我尝试启用插件时,它说

抽水中止! NoMethodError:MailHandler:Class 的未定义方法`alias_method_chain' 你的意思?别名方法

我相信这与这段代码有关:

require_dependency 'mail_handler'

module MailHandlerPatch
  def self.included(base) # :nodoc:
    base.send(:include,InstanceMethods)

    base.class_eval do
      alias_method_chain :receive_issue,:hook
      alias_method_chain :receive_issue_reply,:hook
    end
  end

  module InstanceMethods
    def receive_issue_with_hook
      issue = receive_issue_without_hook
      unless issue.nil?
        Redmine::Hook.call_hook(:model_mail_handler_receive_issue_after_save,{:issue => issue})
      end
      issue
    end

    def receive_issue_reply_with_hook(issue_id,from_journal=nil)
      journal = receive_issue_reply_without_hook(issue_id,from_journal)
      unless journal.nil?
        Redmine::Hook.call_hook(:model_mail_handler_receive_issue_reply_after_save,{:issue => journal.issue,:journal =
      end
      journal
    end
  end
end

MailHandler.send(:include,MailHandlerPatch)

我尝试使用 alias_method 代替,但它无济于事。 如果您能帮我改写这个,我将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)