class RSpec::Mocks::VerifyingMethodDouble

@private

Public Class Methods

Calls superclass method RSpec::Mocks::MethodDouble::new
# File rspec-mocks/lib/rspec/mocks/verifying_proxy.rb, line 140
def initialize(object, method_name, proxy, method_reference)
  super(object, method_name, proxy)
  @method_reference = method_reference
end

Public Instance Methods

# File rspec-mocks/lib/rspec/mocks/verifying_proxy.rb, line 149
def add_expectation(*args, &block)
  # explicit params necessary for 1.8.7 see #626
  super(*args, &block).tap { |x| x.method_reference = @method_reference }
end
Calls superclass method RSpec::Mocks::MethodDouble#add_stub
# File rspec-mocks/lib/rspec/mocks/verifying_proxy.rb, line 154
def add_stub(*args, &block)
  # explicit params necessary for 1.8.7 see #626
  super(*args, &block).tap { |x| x.method_reference = @method_reference }
end
# File rspec-mocks/lib/rspec/mocks/verifying_proxy.rb, line 145
def message_expectation_class
  VerifyingMessageExpectation
end
# File rspec-mocks/lib/rspec/mocks/verifying_proxy.rb, line 159
def proxy_method_invoked(obj, *args, &block)
  validate_arguments!(args)
  super
end
# File rspec-mocks/lib/rspec/mocks/verifying_proxy.rb, line 165
def validate_arguments!(actual_args)
  @method_reference.with_signature do |signature|
    verifier = Support::StrictSignatureVerifier.new(signature, actual_args)
    raise ArgumentError, verifier.error_message unless verifier.valid?
  end
end