如何获取处理方法调用的方法

时间:2016-04-11 12:06:27

标签: ruby

我有一个使用Ruby 1.8的应用程序。 6在Rails 2.2.2应用程序中。

它在代码库的各个部分(类,模块等)中有许多方法url_for的定义。

调试时,我想在日志中看到哪个方法处理对url_for的特定调用。如,

foo = "bar"
baz = url_for(foo)
#would like to log the location of the url_for method which actually 
#handled the call, here.

如果执行此操作的唯一方法是在url_for内引发异常并查看堆栈跟踪,那就没问题了,例如

baz = url_for(something_which_wont_raise_here_but_will_raise_inside_the_url_for_method)

更进一步,如果在(经过严格修补的)类的实例上调用该方法该怎么办:

foo = @baz.bar("qux")
编辑:我没有在我的问题中指定它是Ruby 1.8.6,看起来我不能使用.source_location方法。很抱歉没有提前指定版本!有没有人有其他想法?

0 个答案:

没有答案