Sha256: 36e47bd31a0aa56d51f761dff55392ccc31d3326df2b4a41f7ae32862cdbe93a

Contents?: true

Size: 664 Bytes

Versions: 18

Compression:

Stored size: 664 Bytes

Contents

module Rspec
  module Mocks
    class OrderGroup
      def initialize error_generator
        @error_generator = error_generator
        @ordering = Array.new
      end
      
      def register(expectation)
        @ordering << expectation
      end
      
      def ready_for?(expectation)
        return @ordering.first == expectation
      end
      
      def consume
        @ordering.shift
      end
      
      def handle_order_constraint expectation
        return unless @ordering.include? expectation
        return consume if ready_for?(expectation)
        @error_generator.raise_out_of_order_error expectation.sym
      end
      
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rspec-mocks-2.0.0.beta.8 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.beta.7 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.beta.6 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.beta.5 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.beta.4 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.beta.3 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.beta.2 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.beta.1 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a10 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a9 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a8 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a7 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a6 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a5 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a4 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a3 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a2 lib/rspec/mocks/order_group.rb
rspec-mocks-2.0.0.a1 lib/rspec/mocks/order_group.rb