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_bot/attribute/dynamic.rb

26 lines
534 B
Ruby
Raw Normal View History

module FactoryBot
2012-05-05 02:31:31 -04:00
class Attribute
# @api private
class Dynamic < Attribute
def initialize(name, ignored, block)
super(name, ignored)
@block = block
end
def to_proc
block = @block
2012-04-20 16:59:39 -04:00
-> {
value = case block.arity
when 1, -1 then instance_exec(self, &block)
else instance_exec(&block)
end
raise SequenceAbuseError if FactoryBot::Sequence === value
value
}
end
end
end
end