class FactoryBot::DeclarationList
@api private
Public Class Methods
new(name = nil)
click to toggle source
# File lib/factory_bot/declaration_list.rb, line 6 def initialize(name = nil) @declarations = [] @name = name @overridable = false end
Public Instance Methods
attributes()
click to toggle source
# File lib/factory_bot/declaration_list.rb, line 23 def attributes @attributes ||= 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_bot/declaration_list.rb, line 12 def declare_attribute(declaration) delete_declaration(declaration) if overridable? @declarations << declaration declaration end
each(&block)
click to toggle source
# File lib/factory_bot/declaration_list.rb, line 31 def each(&block) @declarations.each(&block) end
overridable()
click to toggle source
# File lib/factory_bot/declaration_list.rb, line 19 def overridable @overridable = true end
Private Instance Methods
delete_declaration(declaration)
click to toggle source
# File lib/factory_bot/declaration_list.rb, line 37 def delete_declaration(declaration) @declarations.delete_if { |decl| decl.name == declaration.name } end
overridable?()
click to toggle source
# File lib/factory_bot/declaration_list.rb, line 45 def overridable? @overridable end
to_attributes()
click to toggle source
# File lib/factory_bot/declaration_list.rb, line 41 def to_attributes @declarations.reduce([]) { |result, declaration| result + declaration.to_attributes } end