class RSpec::Mocks::VerifyingMethodDouble

@private

Public Class Methods

new(object, method_name, proxy, method_reference) click to toggle source
Calls superclass method RSpec::Mocks::MethodDouble::new
# File 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

add_expectation(*args, &block) click to toggle source
# File lib/rspec/mocks/verifying_proxy.rb, line 149
def add_expectation(*args, &block)
  # explict params necessary for 1.8.7 see #626
  super(*args, &block).tap { |x| x.method_reference = @method_reference }
end
add_stub(*args, &block) click to toggle source
Calls superclass method RSpec::Mocks::MethodDouble#add_stub
# File lib/rspec/mocks/verifying_proxy.rb, line 154
def add_stub(*args, &block)
  # explict params necessary for 1.8.7 see #626
  super(*args, &block).tap { |x| x.method_reference = @method_reference }
end
message_expectation_class() click to toggle source
# File lib/rspec/mocks/verifying_proxy.rb, line 145
def message_expectation_class
  VerifyingMessageExpectation
end
proxy_method_invoked(obj, *args, &block) click to toggle source
# File lib/rspec/mocks/verifying_proxy.rb, line 159
def proxy_method_invoked(obj, *args, &block)
  validate_arguments!(args)
  super
end
validate_arguments!(actual_args) click to toggle source
# File lib/rspec/mocks/verifying_proxy.rb, line 164
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