我怎样才能找出哪个文件/ gem是猴子修补方法?

时间:2012-12-15 20:07:04

标签: ruby

我的依赖项列表中有一个Gem,它是String上的Monkey Patching to_json。

我如何计算这个猴子修补的位置?

2 个答案:

答案 0 :(得分:8)

使用source_location

  

返回包含此方法的Ruby源文件名和行号,如果未在Ruby中定义此方法(即本机),则返回nil

$ cat monkey.rb
class String
  def reverse
    ""
  end
end

p String.instance_method(:reverse).source_location
$ ruby monkey.rb
["monkey.rb", 2]

答案 1 :(得分:2)

puts String.instance_method(:to_json).source_location