我正在寫某種類似於基準測試實用程序的東西,而且我很好奇是否有一種簡單的方法可以告訴從哪種上下文中調用方法。讓我舉例說明:如何確定調用方法的範圍?
module Foo
my_method
class Foo
my_method
def self.foo
my_method
end
def foo
my_method
end
end
end
Foo::Foo.foo
Foo::Foo.new.foo
理想的情況下,針對上述情況,「my_method」將打印類似如下:
在模塊「富」 定義調用調用的類定義「富」 類方法「foo」的 實例方法「foo」的
的運行中調用的運行中調用。如果我能得到一些參考目前的「範圍」或CON文本(或任何紅寶石稱它)這將是容易的,但我不知道這是甚至可能的,更不用說如何做到這一點。任何人都可以將我指向正確的方向嗎?
我看到了set_trace_func,但解析出來似乎很笨拙。是否沒有內置$ current_scope的東西? –