class FactoryGirl::DeclarationList

Public Class Methods

new(name = nil) click to toggle source
# File lib/factory_girl/declaration_list.rb, line 5
def initialize(name = nil)
  @declarations = []
  @name         = name
  @overridable  = false
end

Public Instance Methods

attribute_list() click to toggle source
# File lib/factory_girl/declaration_list.rb, line 22
def attribute_list
  AttributeList.new(@name).tap do |list|
    to_attributes.each do |attribute|
      list.define_attribute(attribute)
    end
  end
end
declare_attribute(declaration) click to toggle source
# File lib/factory_girl/declaration_list.rb, line 11
def declare_attribute(declaration)
  delete_declaration(declaration) if overridable?

  @declarations << declaration
  declaration
end
each(&block) click to toggle source
# File lib/factory_girl/declaration_list.rb, line 30
def each(&block)
  @declarations.each(&block)
end
overridable() click to toggle source
# File lib/factory_girl/declaration_list.rb, line 18
def overridable
  @overridable = true
end

Private Instance Methods

delete_declaration(declaration) click to toggle source
# File lib/factory_girl/declaration_list.rb, line 36
def delete_declaration(declaration)
  @declarations.delete_if {|decl| decl.name == declaration.name }
end
overridable?() click to toggle source
# File lib/factory_girl/declaration_list.rb, line 44
def overridable?
  @overridable
end
to_attributes() click to toggle source
# File lib/factory_girl/declaration_list.rb, line 40
def to_attributes
  @declarations.inject([]) {|result, declaration| result += declaration.to_attributes }
end