我怎样才能修补在Bundler中管理的宝石?

时间:2011-09-30 16:01:07

标签: ruby-on-rails ruby monkeypatching

具体来说,我想将delayed_job指向另一个表:

set_table_name“my_table”

我刚从售卖宝石切换到Bundler。我曾经只是改变了售卖宝石中的代码,这可能是愚蠢的。无论如何,我可能需要为此做一个猴子路径,我只是不确定如何。

2 个答案:

答案 0 :(得分:5)

以下是您可以使用的一般模式。它不会按原样运作,因为重点只是展示模式,因为我不知道Delayed::Job的类结构。

# config/initializers/delayed_job_patch.rb

require "delayed_job"

class Delayed::Job

  set_table_name "my_table"

end

答案 1 :(得分:3)

我会做什么,是在github上分叉项目,然后为表名实现一个配置选项,然后将一个pull请求发送回原作者。与此同时,我会将Bundler指向我自己的git(或公司所有)的repo。