class RSpec::Mocks::AnyInstance::Chain

@private

Public Class Methods

new(recorder, *args, &block) click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 7
def initialize(recorder, *args, &block)
  @recorder          = recorder
  @expectation_args  = args
  @expectation_block = block
  @argument_list_matcher = ArgumentListMatcher::MATCH_ALL
end

Public Instance Methods

constrained_to_any_of?(*constraints) click to toggle source

@private

# File lib/rspec/mocks/any_instance/chain.rb, line 59
def constrained_to_any_of?(*constraints)
  constraints.any? do |constraint|
    messages.any? do |message|
      message.first.first == constraint
    end
  end
end
expectation_fulfilled!() click to toggle source

@private

# File lib/rspec/mocks/any_instance/chain.rb, line 73
def expectation_fulfilled!
  @expectation_fulfilled = true
end
matches_args?(*args) click to toggle source

@private

# File lib/rspec/mocks/any_instance/chain.rb, line 68
def matches_args?(*args)
  @argument_list_matcher.args_match?(*args)
end
never() click to toggle source
Calls superclass method
# File lib/rspec/mocks/any_instance/chain.rb, line 77
def never
  ErrorGenerator.raise_double_negation_error("expect_any_instance_of(MyClass)") if negated?
  super
end
playback!(instance) click to toggle source

@private

# File lib/rspec/mocks/any_instance/chain.rb, line 51
def playback!(instance)
  message_expectation = create_message_expectation_on(instance)
  messages.inject(message_expectation) do |object, message|
    object.__send__(*message.first, &message.last)
  end
end
with(*args, &block) click to toggle source
Calls superclass method
# File lib/rspec/mocks/any_instance/chain.rb, line 82
def with(*args, &block)
  @argument_list_matcher = ArgumentListMatcher.new(*args)
  super
end

Private Instance Methods

last_message() click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 97
def last_message
  messages.last.first.first unless messages.empty?
end
messages() click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 93
def messages
  @messages ||= []
end
negated?() click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 89
def negated?
  messages.any? { |(message, *_), _| message == :never }
end
record(rspec_method_name, *args, &block) click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 101
def record(rspec_method_name, *args, &block)
  verify_invocation_order(rspec_method_name, *args, &block)
  messages << [args.unshift(rspec_method_name), block]
  self
end