class RSpec::Mocks::AnyInstance::Chain
Public Class Methods
new(recorder, *args, &block)
click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 5 def initialize(recorder, *args, &block) @recorder = recorder @expectation_args = args @expectation_block = block end
Public Instance Methods
constrained_to_any_of?(*constraints)
click to toggle source
@private
# File lib/rspec/mocks/any_instance/chain.rb, line 54 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 63 def expectation_fulfilled! @expectation_fulfilled = true end
never()
click to toggle source
Calls superclass method
# File lib/rspec/mocks/any_instance/chain.rb, line 67 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 46 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
Private Instance Methods
last_message()
click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 82 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 78 def messages @messages ||= [] end
negated?()
click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 74 def negated? messages.any? { |(message, *_), _| message.to_sym == :never } end
record(rspec_method_name, *args, &block)
click to toggle source
# File lib/rspec/mocks/any_instance/chain.rb, line 86 def record(rspec_method_name, *args, &block) verify_invocation_order(rspec_method_name, *args, &block) messages << [args.unshift(rspec_method_name), block] self end