class RSpec::Mocks::PartialDoubleProxy

@private

Public Instance Methods

add_simple_expectation(method_name, response, location) click to toggle source

@private

# File lib/rspec/mocks/proxy.rb, line 294
def add_simple_expectation(method_name, response, location)
  method_double_for(method_name).configure_method
  super
end
add_simple_stub(method_name, response) click to toggle source

@private

Calls superclass method RSpec::Mocks::Proxy#add_simple_stub
# File lib/rspec/mocks/proxy.rb, line 300
def add_simple_stub(method_name, response)
  method_double_for(method_name).configure_method
  super
end
message_received(message, *args, &block) click to toggle source
Calls superclass method RSpec::Mocks::Proxy#message_received
# File lib/rspec/mocks/proxy.rb, line 317
def message_received(message, *args, &block)
  RSpec::Mocks.space.any_instance_recorders_from_ancestry_of(object).each do |subscriber|
    subscriber.notify_received_message(object, message, args, block)
  end
  super
end
original_method_handle_for(message) click to toggle source
# File lib/rspec/mocks/proxy.rb, line 281
def original_method_handle_for(message)
  if any_instance_class_recorder_observing_method?(@object.class, message)
    message = ::RSpec::Mocks.space.
      any_instance_recorder_for(@object.class).
      build_alias_method_name(message)
  end

  ::RSpec::Support.method_handle_for(@object, message)
rescue NameError
  nil
end
reset() click to toggle source
Calls superclass method RSpec::Mocks::Proxy#reset
# File lib/rspec/mocks/proxy.rb, line 312
def reset
  @method_doubles.each_value { |d| d.reset }
  super
end
visibility_for(method_name) click to toggle source

@private

# File lib/rspec/mocks/proxy.rb, line 306
def visibility_for(method_name)
  # We fall back to :public because by default we allow undefined methods
  # to be stubbed, and when we do so, we make them public.
  MethodReference.method_visibility_for(@object, method_name) || :public
end

Private Instance Methods

any_instance_class_recorder_observing_method?(klass, method_name) click to toggle source
# File lib/rspec/mocks/proxy.rb, line 326
def any_instance_class_recorder_observing_method?(klass, method_name)
  only_return_existing = true
  recorder = ::RSpec::Mocks.space.any_instance_recorder_for(klass, only_return_existing)
  return true if recorder && recorder.already_observing?(method_name)

  superklass = klass.superclass
  return false if superklass.nil?
  any_instance_class_recorder_observing_method?(superklass, method_name)
end