loading...

How to check if a particular method exists in a Ruby class and instance

konyu profile image @kon_yu ・1 min read

Prerequisites.
Ruby: 2.5.1

Checking the existence of a method for a class

Using method_defined?

String.method_defined?(:to_i)
=> true

# I see that there is a to_i method, so I'm going to run it
"1".to_i
=> 1

Does the method exist for the instance?

Using respond_to?

"string".respond_to?(:to_a)
=> false

# There is no to_a method so I get a NoMethodError error when I try to run it

Discussion

pic
Editor guide