Sha256: 6d2f760c29a075478c07da6f824cb26e421079c3478e36d638e7cc27b6ba51f5
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
module FactoryGirl class Definition attr_reader :callbacks, :defined_traits, :declarations def initialize(name = nil) @declarations = DeclarationList.new(name) @callbacks = [] @defined_traits = [] @to_create = lambda {|instance| instance.save! } @traits = [] end delegate :declare_attribute, :to => :declarations def attributes @attributes ||= declarations.attribute_list end def compile attributes end def overridable declarations.overridable self end def traits @traits.reverse.map { |name| trait_by_name(name) } end def inherit_traits(new_traits) @traits += new_traits end def add_callback(callback) @callbacks << callback end def to_create(&block) if block_given? @to_create = block else @to_create end end def define_trait(trait) @defined_traits << trait end private def trait_by_name(name) trait_for(name) || FactoryGirl.trait_by_name(name) end def trait_for(name) defined_traits.detect {|trait| trait.name == name } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
factory_girl-2.4.1 | lib/factory_girl/definition.rb |
factory_girl-2.4.0 | lib/factory_girl/definition.rb |
factory_girl-2.3.2 | lib/factory_girl/definition.rb |