Class: FormObj::Attribute

Inherits:
TreeStruct::Attribute
  • Object
show all
Defined in:
lib/form_obj/attribute.rb

Direct Known Subclasses

Mappable::Attribute

Instance Method Summary collapse

Constructor Details

#initialize(name, array: false, class: nil, default: nil, parent:, primary_key: nil, &block) ⇒ Attribute

Returns a new instance of Attribute.



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/form_obj/attribute.rb', line 5

def initialize(name, array: false, class: nil, default: nil, parent:, primary_key: nil, &block)
  super(name, array: array, class: binding.local_variable_get(:class), default: default, parent: parent, &block)

  @nested_class.instance_variable_set(:@model_name, ActiveModel::Name.new(@nested_class, nil, name.to_s)) if !@nested_class && block_given?

  if primary_key
    if @nested_class
      @nested_class.primary_key = primary_key
    else
      parent.primary_key = name.to_sym
    end
  end
end