1
0
Fork 0
mirror of https://github.com/thoughtbot/factory_bot.git synced 2022-11-09 11:43:51 -05:00
thoughtbot--factory_bot/lib/factory_girl/sequence.rb
2012-05-05 01:14:21 -04:00

27 lines
563 B
Ruby

module FactoryGirl
# Sequences are defined using sequence within a FactoryGirl.define block.
# Sequence values are generated using next.
class Sequence
attr_reader :name
def initialize(name, *args, &proc) #:nodoc:
@name = name
@proc = proc
options = args.extract_options!
@value = args.first || 1
@aliases = options.fetch(:aliases) { [] }
end
def next
@proc ? @proc.call(@value) : @value
ensure
@value = @value.next
end
def names
[@name] + @aliases
end
end
end