Parent

Files

Mocha::AnyInstanceMethod

Public Instance Methods

define_new_method() click to toggle source
# File lib/mocha/any_instance_method.rb, line 27
def define_new_method
  stubbee.class_eval(%{
    def #{method}(*args, &block)
      self.class.any_instance.mocha.method_missing(:#{method}, *args, &block)
    end
  }, __FILE__, __LINE__)
end
hide_original_method() click to toggle source
# File lib/mocha/any_instance_method.rb, line 17
def hide_original_method
  if method_exists?(method)
    begin
      stubbee.send(:alias_method, hidden_method, method)
    rescue NameError
      # deal with nasties like ActiveRecord::Associations::AssociationProxy
    end
  end
end
method_exists?(method) click to toggle source
# File lib/mocha/any_instance_method.rb, line 50
def method_exists?(method)
  return true if stubbee.public_instance_methods(false).include?(method)
  return true if stubbee.protected_instance_methods(false).include?(method)
  return true if stubbee.private_instance_methods(false).include?(method)
  return false
end
mock() click to toggle source
# File lib/mocha/any_instance_method.rb, line 13
def mock
  stubbee.any_instance.mocha
end
remove_new_method() click to toggle source
# File lib/mocha/any_instance_method.rb, line 35
def remove_new_method
  stubbee.send(:remove_method, method)
end
restore_original_method() click to toggle source
# File lib/mocha/any_instance_method.rb, line 39
def restore_original_method
  if method_exists?(hidden_method)
    begin
      stubbee.send(:alias_method, method, hidden_method)
      stubbee.send(:remove_method, hidden_method)
    rescue NameError
      # deal with nasties like ActiveRecord::Associations::AssociationProxy
    end
  end
end
unstub() click to toggle source
# File lib/mocha/any_instance_method.rb, line 7
def unstub
  remove_new_method
  restore_original_method
  stubbee.any_instance.reset_mocha
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.