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
13
# 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 = []
  @constructor       = nil
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

#constructorObject (readonly)

Returns the value of attribute constructor.



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

def constructor
  @constructor
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



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

def add_callback(callback)
  @callbacks << callback
end

#attributesObject



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

def attributes
  @attributes ||= declarations.attribute_list
end

#compileObject



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

def compile
  attributes
end

#define_constructor(&block) ⇒ Object



54
55
56
# File 'lib/factory_girl/definition.rb', line 54

def define_constructor(&block)
  @constructor = block
end

#define_trait(trait) ⇒ Object



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

def define_trait(trait)
  @defined_traits << trait
end

#inherit_traits(new_traits) ⇒ Object



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

def inherit_traits(new_traits)
  @additional_traits += new_traits
end

#overridableObject



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

def overridable
  declarations.overridable
  self
end

#processing_orderObject



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

def processing_order
  base_traits + [self] + additional_traits
end

#to_create(&block) ⇒ Object



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

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