【发布时间】:2016-05-03 22:39:49
【问题描述】:
我正在尝试对 wicked_pdf gem 进行猴子补丁,但无法识别我的补丁。
如果我进入 gem 的本地副本中的源代码并修改 WickedPdf 类的 #print_command method,我的修改会在我查看 pdf 时反映在日志中。
# local/gem/path/lib/wicked_pdf.rb
def print_command(cmd)
puts "\n\nthis is my modification\n\n" # appears in logs
end
但是,当我尝试实现与猴子补丁相同的想法时,假设在初始化程序中,该修改不会反映。
# config/initializers/wicked_pdf.rb
module WickedPdfExtension
def print_command(cmd)
puts "\n\nthis is my modification\n\n" # does not appear in logs
end
end
WickedPdf.include(WickedPdfExtension)
我在扩展它时检查了 WickedPdf 类是否存在,并且我已经确认 WickedPdf 类中的其他方法(公共和私有)会发生这种情况。为什么我的猴子补丁无效?
【问题讨论】:
标签: ruby ruby-on-rails-4 wicked-pdf