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/attribute/dynamic.rb
Joshua Clayton 3282eea658 Move class creation/handling to an anonymous evaluator
This allows for Attribute#to_proc to not require a proxy to be passed to
return a Proc. It also allows for removal of Attribute#add_to
2011-11-30 20:56:58 -05:00

20 lines
453 B
Ruby

module FactoryGirl
class Attribute #:nodoc:
class Dynamic < Attribute #:nodoc:
def initialize(name, ignored, block)
super(name, ignored)
@block = block
end
def to_proc
block = @block
lambda {
value = block.arity == 1 ? block.call(self) : instance_exec(&block)
raise SequenceAbuseError if FactoryGirl::Sequence === value
value
}
end
end
end
end