Access the Method object 
Dead simple: Get the method object and ask for its owner:
"foo".method(:upcase)
# =>  #<Method: String#upcase> 
"foo".method(:upcase).owner
# => String
Look up a method's source location
Ruby 1.9 adds a method Method#source_location that returns file and line number where that method is defined.
class Example; def method() end; end
# => nil
Example.new.method(:method).source_location
# => ["(irb)", 11] 
 
"foo".method(:upcase).source_location
# => nil # String#upcase is a native method that's defined in C
Look up a method's source code
If your Gemfile comes with 
  method_source
  
    Show archive.org snapshot
  
 (a dependency of Rails 7+), you can can inspect the source code directly using the Method#source method:
puts User.new.method(:name).source
# =>
# def name
#   "#{first_name} #{last_name}".strip
# end
Also see
Posted by Dominik Schöler to makandra dev (2013-03-20 09:28)