class RSpec::Mocks::AnyInstance::MessageChains
@private
Public Class Methods
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 6 def initialize @chains_by_method_name = Hash.new { |h, k| h[k] = [] } end
Public Instance Methods
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 11 def [](method_name) @chains_by_method_name[method_name] end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 16 def add(method_name, chain) @chains_by_method_name[method_name] << chain chain end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 43 def all_expectations_fulfilled? @chains_by_method_name.all? do |_method_name, chains| chains.all? { |chain| chain.expectation_fulfilled? } end end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 36 def each_unfulfilled_expectation_matching(method_name, *args) @chains_by_method_name[method_name].each do |chain| yield chain if !chain.expectation_fulfilled? && chain.matches_args?(*args) end end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 29 def has_expectation?(method_name) @chains_by_method_name[method_name].find do |chain| ExpectationChain === chain end end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 64 def playback!(instance, method_name) raise_if_second_instance_to_receive_message(instance) @chains_by_method_name[method_name].each do |chain| chain.playback!(instance) end end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 57 def received_expected_message!(method_name) @chains_by_method_name[method_name].each do |chain| chain.expectation_fulfilled! end end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 22 def remove_stub_chains_for!(method_name) @chains_by_method_name[method_name].reject! do |chain| StubChain === chain end end
@private
# File rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb, line 50 def unfulfilled_expectations @chains_by_method_name.map do |method_name, chains| method_name.to_s if ExpectationChain === chains.last && !chains.last.expectation_fulfilled? end.compact end