Software Development

Ruby Tips - How to figure out where a method is defined

The other day when I was dabbling with the huge codebase, I was wondering where a particular method was being declared for a specific method

by Jey Geethan

The other day when I was dabbling with the huge codebase, I was wondering where a particular method was being declared for a specific method. I wanted to know this because my greps didn't turn out to volatile and didn't return any results.

The Solution

The Ruby interpreter has certain methods that can be used for identifying under which module or class, the particular method is being defined. See the example below.

module Foo
  def say_hello
    puts "hello"
  end
end
	

class Bar
  include Foo
end
	

puts Bar.new.method(:say_hello)                   #=> #<Method: Bar(Foo)#say_hello>
puts Bar.new.method(:say_hello).source_location   #=> hello.rb


So using the .source_location you will be able to figure which file it has been declared.



Related Articles

[.NET] ToolTip and "Cannot access a disposed object" exception

Software Development

The "Cannot access a disposed object" exception is a nightmare for .NET developers.

by Jey Geethan

Why Microservices?

Software Development

I have a few tidbits about why to use microservices and why it makes sense to create few microservices as a side project and learn from the same

by Jey Geethan


Subscribe to my weekly newsletter
Subscribe to my weekly newsletter to receive emails on business, love, my books, poems and my other writings