class Object
:nodoc:
def stub name, val_or_callable, &block
def stub name, val_or_callable, &block new_name = "__minitest_stub__#{name}" metaclass = class << self; self; end metaclass.send :alias_method, new_name, name metaclass.send :define_method, name do |*args| if val_or_callable.respond_to? :call then val_or_callable.call(*args) else val_or_callable end end yield ensure metaclass.send :undef_method, name metaclass.send :alias_method, name, new_name metaclass.send :undef_method, new_name end