私は一種のベンチマーク ユーティリティのようなものを書いています。メソッドがどのコンテキストから呼び出されているかを簡単に知る方法があるかどうか知りたいです。例で説明しましょう:
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」の定義で呼び出される クラスメソッド「foo」の実行中に呼び出される インスタンスメソッド「foo」の実行中に呼び出される
現在の「スコープ」またはコンテキスト (またはルビーがそれを呼び出すもの) への何らかの参照を取得できれば、これは簡単ですが、それが可能かどうかはわかりません。誰かが私を正しい方向に向けることができますか?