mirror of
https://github.com/thoughtbot/factory_bot.git
synced 2022-11-09 11:43:51 -05:00
3282eea658
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
20 lines
453 B
Ruby
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
|