module RSpec::Mocks::VerifyingDouble

@private

Public Class Methods

Calls superclass method
# File rspec-mocks/lib/rspec/mocks/verifying_double.rb, line 55
def initialize(doubled_module, *args)
  @doubled_module = doubled_module

  possible_name = args.first
  name = if String === possible_name || Symbol === possible_name
           args.shift
         end

  super(name, *args)
  @__sending_message = nil
end

Public Instance Methods

rubocop:disable Naming/MethodName

Calls superclass method
# File rspec-mocks/lib/rspec/mocks/verifying_double.rb, line 40
def __send__(name, *args, &block)
  @__sending_message = name
  super
ensure
  @__sending_message = nil
end
Calls superclass method
# File rspec-mocks/lib/rspec/mocks/verifying_double.rb, line 20
def method_missing(message, *args, &block)
  # Null object conditional is an optimization. If not a null object,
  # validity of method expectations will have been checked at definition
  # time.
  if null_object?
    if @__sending_message == message
      __mock_proxy.ensure_implemented(message)
    else
      __mock_proxy.ensure_publicly_implemented(message, self)
    end

    __mock_proxy.validate_arguments!(message, args)
  end

  super
end
Calls superclass method
# File rspec-mocks/lib/rspec/mocks/verifying_double.rb, line 7
def respond_to?(message, include_private=false)
  return super unless null_object?

  method_ref = __mock_proxy.method_reference[message]

  case method_ref.visibility
  when :public    then true
  when :private   then include_private
  when :protected then include_private || RUBY_VERSION.to_f < 2.0
  else !method_ref.unimplemented?
  end
end
# File rspec-mocks/lib/rspec/mocks/verifying_double.rb, line 50
def send(name, *args, &block)
  __send__(name, *args, &block)
end