Class: FactoryGirl::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/factory_girl/definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil, base_traits = []) ⇒ Definition

Returns a new instance of Definition.



5
6
7
8
9
10
11
12
# File 'lib/factory_girl/definition.rb', line 5

def initialize(name = nil, base_traits = [])
  @declarations      = DeclarationList.new(name)
  @callbacks         = []
  @defined_traits    = []
  @to_create         = lambda {|instance| instance.save! }
  @base_traits       = base_traits
  @additional_traits = []
end

Instance Attribute Details

#callbacksObject (readonly)

Returns the value of attribute callbacks.



3
4
5
# File 'lib/factory_girl/definition.rb', line 3

def callbacks
  @callbacks
end

#declarationsObject (readonly)

Returns the value of attribute declarations.



3
4
5
# File 'lib/factory_girl/definition.rb', line 3

def declarations
  @declarations
end

#defined_traitsObject (readonly)

Returns the value of attribute defined_traits.



3
4
5
# File 'lib/factory_girl/definition.rb', line 3

def defined_traits
  @defined_traits
end

Instance Method Details

#add_callback(callback) ⇒ Object



37
38
39
# File 'lib/factory_girl/definition.rb', line 37

def add_callback(callback)
  @callbacks << callback
end

#attributesObject



16
17
18
# File 'lib/factory_girl/definition.rb', line 16

def attributes
  @attributes ||= declarations.attribute_list
end

#compileObject



20
21
22
# File 'lib/factory_girl/definition.rb', line 20

def compile
  attributes
end

#define_trait(trait) ⇒ Object



49
50
51
# File 'lib/factory_girl/definition.rb', line 49

def define_trait(trait)
  @defined_traits << trait
end

#inherit_traits(new_traits) ⇒ Object



33
34
35
# File 'lib/factory_girl/definition.rb', line 33

def inherit_traits(new_traits)
  @additional_traits += new_traits
end

#overridableObject



28
29
30
31
# File 'lib/factory_girl/definition.rb', line 28

def overridable
  declarations.overridable
  self
end

#processing_orderObject



24
25
26
# File 'lib/factory_girl/definition.rb', line 24

def processing_order
  base_traits + [self] + additional_traits
end

#to_create(&block) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/factory_girl/definition.rb', line 41

def to_create(&block)
  if block_given?
    @to_create = block
  else
    @to_create
  end
end