Class/Module Index [+]

Quicksearch

Mocha::AnyInstanceMethod

Public Instance Methods

define_new_method() click to toggle source
# File lib/mocha/any_instance_method.rb, line 34
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 15
def hide_original_method
  if method_exists?(method)
    begin
      @original_method = stubbee.instance_method(method)
      if @original_method && @original_method.owner == stubbee
        @original_visibility = :public
        if stubbee.protected_instance_methods.include?(method)
          @original_visibility = :protected
        elsif stubbee.private_instance_methods.include?(method)
          @original_visibility = :private
        end
        stubbee.send(:remove_method, method)
      end
    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 53
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 7
def mock
  stubbee.any_instance.mocha
end
remove_new_method() click to toggle source
# File lib/mocha/any_instance_method.rb, line 42
def remove_new_method
  stubbee.send(:remove_method, method)
end
reset_mocha() click to toggle source
# File lib/mocha/any_instance_method.rb, line 11
def reset_mocha
  stubbee.any_instance.reset_mocha
end
restore_original_method() click to toggle source
# File lib/mocha/any_instance_method.rb, line 46
def restore_original_method
  if @original_method && @original_method.owner == stubbee
    stubbee.send(:define_method, method, @original_method)
    Module.instance_method(@original_visibility).bind(stubbee).call(method)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.