Class: RSpec::Mocks::AnyInstance::MessageChains

Inherits:
Object
  • Object
show all
Defined in:
lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/any_instance/message_chains.rb

Instance Method Summary collapse

Constructor Details

#initializeMessageChains

Returns a new instance of MessageChains.



6
7
8
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/any_instance/message_chains.rb', line 6

def initialize
  @chains_by_method_name = Hash.new { |h, k| h[k] = [] }
end

Instance Method Details

#[](method_name) ⇒ Object



11
12
13
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/any_instance/message_chains.rb', line 11

def [](method_name)
  @chains_by_method_name[method_name]
end

#add(method_name, chain) ⇒ Object



16
17
18
19
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/any_instance/message_chains.rb', line 16

def add(method_name, chain)
  @chains_by_method_name[method_name] << chain
  chain
end

#all_expectations_fulfilled?Boolean

Returns:

  • (Boolean)


43
44
45
46
47
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/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

#each_unfulfilled_expectation_matching(method_name, *args) ⇒ Object



36
37
38
39
40
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/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

#has_expectation?(method_name) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
33
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/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

#playback!(instance, method_name) ⇒ Object



64
65
66
67
68
69
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/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

#received_expected_message!(method_name) ⇒ Object



57
58
59
60
61
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/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

#remove_stub_chains_for!(method_name) ⇒ Object



22
23
24
25
26
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/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

#unfulfilled_expectationsObject



50
51
52
53
54
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/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