次のようにクラスのソースにアクセスしたいと思います。
# Module inside file1.rb
module MetaFoo
class << Object
def bar
# here I'd like to access the source location of the Foo class definition
# which should result in /path/to/file2.rb
end
end
end
# Class inside another file2.rb
class Foo
bar
end
私は次のような悪いことをすることができました:
self.send(:caller)
出力を解析しようとするか、次のようにします。
class Foo
bar __FILE__
end
しかし、そうではありません。もっとエレガントな解決策があることを願っていました。
どんなヒントでも大歓迎です。