class RSpec::Mocks::OrderGroup
@private
Public Class Methods
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 5 def initialize @expectations = [] @invocation_order = [] @index = 0 end
Public Instance Methods
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 48 def clear @index = 0 @invocation_order.clear @expectations.clear end
@private
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 26 def consume remaining_expectations.each_with_index do |expectation, index| next unless expectation.ordered? @index += index + 1 return expectation end nil end
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 54 def empty? @expectations.empty? end
@private
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 37 def handle_order_constraint(expectation) return unless expectation.ordered? && remaining_expectations.include?(expectation) return consume if ready_for?(expectation) expectation.raise_out_of_order_error end
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 16 def invoked(message) @invocation_order << message end
@private
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 21 def ready_for?(expectation) remaining_expectations.find(&:ordered?) == expectation end
@private
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 12 def register(expectation) @expectations << expectation end
# File rspec-mocks/lib/rspec/mocks/order_group.rb, line 43 def verify_invocation_order(expectation) expectation.raise_out_of_order_error unless expectations_invoked_in_order? true end