微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何升级 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 举报,一经查实,本站将立刻删除。