【问题标题】:Rename a method added by a gem重命名 gem 添加的方法
【发布时间】:2013-02-18 14:38:42
【问题描述】:

我想将delay 方法added by the Sidekiq gem 重命名为sidekiq_delay。这个扩展方法被添加到 Ruby 中的所有类中。我如何使用 Ruby 元编程来做到这一点?

我想这样做,以便 Sidekiq 的 delay 不会覆盖延迟作业的 delay 方法。

【问题讨论】:

  • 为什么要这样做?它与您的代码冲突吗?只更改代码会更容易,风险也更小。
  • @SergioTulentsev 我想同时使用延迟作业,它还提供了“延迟”扩展方法。

标签: ruby metaprogramming sidekiq


【解决方案1】:

包含相关gem后:

module Sidekiq::Extensions::Klass
  alias :sidekiq_delay :delay
  remove_method :delay
end

【讨论】:

  • 抱歉,我可以再添加一个条件吗?我希望隐藏 Sidekiq 的 delay,因此它不会覆盖 DelayJob 的 delay。有可能吗?
  • 对不起,我应该从头开始添加的。
猜你喜欢
  • 2014-11-20
  • 2011-03-12
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多