Como ver onde o método é definido, em tempo de execução

Às vezes você quer ver onde algum método é definido, direto do console. Por exemplo, existem dois métodos touch definidos em Rails, ActiveRecord :: Callbacks # touch e
ActiveRecord :: Persistence # touch . Qual implementação funciona para os usuários? A solução simples é:

> User.first.method(:touch).owner

=> ActiveRecord::Callbacks

Você pode até ver a localização do arquivo de origem:

> User.first.method(:touch).source_location

=> ["/home/jaturken/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.13/lib/active_record/callbacks.rb", 257]