I have a class:
class TestClass
def method1
end
def method2
end
def method3
end
end
How can I get a list of my methods in this class (method1, method2, method3)?
I have a class:
class TestClass
def method1
end
def method2
end
def method3
end
end
How can I get a list of my methods in this class (method1, method2, method3)?
To get only own methods, and exclude inherited ones:
From within the instance:
self.methods - self.class.superclass.instance_methods
From outside:
TestClass.instance_methods - TestClass.superclass.instance_methods
Add it to the class:
class TestClass
class << self
def own_methods
self.instance_methods - self.superclass.instance_methods
end
end
end
TestClass.own_methods
=> [:method1, :method2, :method3]
(with ruby 2.6.x)