Ruby Delete Method

[Solved] Ruby Delete Method | Haskell - Code Explorer | yomemimo.com
Question : ruby delete method

Answered by : mateusz-drewniak

# How to delete instance methods
# define an empty class
class Foo; end
# show all instance methods of Foo defined directyl on it
p Foo.instance_methods(false) #=> []
# add the `bar` method
class Foo def bar puts "I'm Foo#bar!" end
end
p Foo.instance_methods(false) #=> [:bar]
Foo.new.bar #=> I'm Foo#bar!
# delete the method
Foo.undef_method(:bar)
p Foo.instance_methods(false) #=> []
Foo.new.bar #=> undefined method `bar' for #<Foo:0x0000000106c9ef80> (NoMethodError)

Source : | Last Update : Tue, 21 Jun 22

Question : ruby delete method

Answered by : mateusz-drewniak

# How to delete class/singleton methods
# define an empty class
class Foo; end
# show all class/singleton methods of Foo
p Foo.singleton_methods #=> []
# add the `bar` method
class Foo def self.bar puts "I'm Foo::bar!" end
end
p Foo.singleton_methods #=> [:bar]
Foo.bar #=> I'm Foo::bar!
# delete the method
Foo.singleton_class.undef_method(:bar)
p Foo.singleton_methods #=> []
Foo.bar #=> undefined method `bar' for Foo:Class (NoMethodError)

Source : | Last Update : Tue, 21 Jun 22

Answers related to ruby delete method

Code Explorer Popular Question For Haskell