Sha256: 8a6c9c1cf16a4c36909070cdaf47d8cbe7729edbbbc76d1197d16b9290cb8a4b

Contents?: true

Size: 621 Bytes

Versions: 5

Compression:

Stored size: 621 Bytes

Contents

module FactoryGirl

  # Raised when calling Factory.sequence from a dynamic attribute block
  class SequenceAbuseError < StandardError; end

  # Sequences are defined using sequence within a FactoryGirl.define block.
  # Sequence values are generated using next.
  class Sequence
    attr_reader :name

    def initialize(name, value = 1, &proc) #:nodoc:
      @name  = name
      @proc  = proc
      @value = value
    end

    def next
      @proc ? @proc.call(@value) : @value
    ensure
      @value = @value.next
    end

    def default_strategy
      :create
    end

    def names
      [@name]
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
factory_girl-2.3.0 lib/factory_girl/sequence.rb
factory_girl-2.2.0 lib/factory_girl/sequence.rb
factory_girl-2.1.2 lib/factory_girl/sequence.rb
factory_girl-2.1.0 lib/factory_girl/sequence.rb
factory_girl-2.0.5 lib/factory_girl/sequence.rb