Sha256: 159e92bb529bfc95ed154433d1cfde7131603124d0dd2aaf50410c77693b58eb
Contents?: true
Size: 873 Bytes
Versions: 33
Compression:
Stored size: 873 Bytes
Contents
module FactoryGirl # Sequences are defined using sequence within a FactoryGirl.define block. # Sequence values are generated using next. # @api private class Sequence attr_reader :name def initialize(name, *args, &proc) @name = name @proc = proc options = args.extract_options! @value = args.first || 1 @aliases = options.fetch(:aliases) { [] } if !@value.respond_to?(:peek) @value = EnumeratorAdapter.new(@value) end end def next @proc ? @proc.call(@value.peek) : @value.peek ensure @value.next end def names [@name] + @aliases end private class EnumeratorAdapter def initialize(value) @value = value end def peek @value end def next @value = @value.next end end end end
Version data entries
33 entries across 25 versions & 4 rubygems