thoughtbot--factory_bot/lib/factory_girl/attribute/dynamic.rb

21 lines
435 B
Ruby

module FactoryGirl
class Attribute #:nodoc:
class Dynamic < Attribute #:nodoc:
def initialize(name, block)
super(name)
@block = block
end
def add_to(proxy)
value = @block.arity == 1 ? @block.call(proxy) : proxy.instance_exec(&@block)
if FactoryGirl::Sequence === value
raise SequenceAbuseError
end
proxy.set(name, value)
end
end
end
end