1

我的依赖列表中有一个 Gem 是 Monkey Patching to_json on String。

我怎么知道这个猴子补丁发生在哪里?

4

2 回答 2

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]
于 2012-12-15T20:13:02.340 回答
2
puts String.instance_method(:to_json).source_location
于 2012-12-15T21:25:00.357 回答