# 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)