You can temporarily override (not overwrite) a ruby method for an object by defining a method on the object metaclass.
class Foo
def bar
:object_method
end
end
f = Foo.new
f.bar
# => :object_method
def f.bar
:object_metaclass_method
end
f.bar
# => :object_metaclass_method
class << f
remove_method(:bar)
end
f.bar
# => :object_method