Localize a implementação de um método

Com Ruby 1.9.x, a Methodclasse agora vem com -o #source_locationque é útil quando você está explorando:

@acct.method(:host_mapping).source_location

– retornará o caminho real para o nome do arquivo e o número da linha onde o método está definido:

["/path/to/some_file.rb", 42]

Não funcionará para código compilado nativamente, mas você ainda deve conseguir apenas obter uma instância da Methodclasse e inspecioná-la:

@acct.method(:host_mapping).inspect

– para obter o nome do local Classou Moduleonde #host_mappingestá definido:

#<Method: Account(Account::Url)#url>