mirror of
https://github.com/thoughtbot/factory_bot.git
synced 2022-11-09 11:43:51 -05:00
c716ce01b4
Also: add a deprecation warning to factory_girl, asking users to switch to factory_bot https://github.com/thoughtbot/factory_girl/issues/921
24 lines
533 B
Ruby
24 lines
533 B
Ruby
module FactoryBot
|
|
class Attribute
|
|
# @api private
|
|
class Dynamic < Attribute
|
|
def initialize(name, ignored, block)
|
|
super(name, ignored)
|
|
@block = block
|
|
end
|
|
|
|
def to_proc
|
|
block = @block
|
|
|
|
-> {
|
|
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
|