Class: FormObj::ModelMapper::Attribute

Inherits:
Form::Attribute show all
Defined in:
lib/form_obj/model_mapper/attribute.rb

Instance Attribute Summary collapse

Attributes inherited from Struct::Attribute

#name

Instance Method Summary collapse

Methods inherited from Struct::Attribute

#default_value, #subform?, #validate_value!

Constructor Details

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



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/form_obj/model_mapper/attribute.rb', line 8

def initialize(name, array: false, class: nil, default: nil, model_hash: false, model: :default, model_attribute: nil, model_class: nil, parent:, primary_key: nil, &block)
  @model_attribute = ModelAttribute.new(model: model, names: model_attribute, classes: model_class, default_name: name, array: array, hash: model_hash, subform: binding.local_variable_get(:class) || block_given?)

  if block_given?
    new_block = Proc.new do
      include FormObj::ModelMapper
      class_eval &block
    end
  end
  super(name, array: array, class: binding.local_variable_get(:class), default: default, parent: parent, primary_key: primary_key, &new_block)

  @nested_class            = Class.new(@nested_class) if binding.local_variable_get(:class)
  @nested_class.model_hash = model_hash if @nested_class
end

Instance Attribute Details

#model_attributeObject (readonly)

Returns the value of attribute model_attribute.



6
7
8
# File 'lib/form_obj/model_mapper/attribute.rb', line 6

def model_attribute
  @model_attribute
end

Instance Method Details

#array?Boolean



23
24
25
# File 'lib/form_obj/model_mapper/attribute.rb', line 23

def array?
  @array
end