Module: DecoLite::FieldCreatable

Includes:
FieldConflictable
Included in:
FieldAssignable
Defined in:
lib/deco_lite/field_creatable.rb

Overview

Takes an array of symbols and creates attr_accessors.

Constant Summary

Constants included from FieldsOptionable

DecoLite::FieldsOptionable::OPTION_FIELDS, DecoLite::FieldsOptionable::OPTION_FIELDS_DEFAULT, DecoLite::FieldsOptionable::OPTION_FIELDS_MERGE, DecoLite::FieldsOptionable::OPTION_FIELDS_STRICT, DecoLite::FieldsOptionable::OPTION_FIELDS_VALUES

Instance Method Summary collapse

Methods included from FieldConflictable

#field_conflict?, #validate_field_conflicts!

Instance Method Details

#create_field_accessor(field_name:, options:) ⇒ Object



18
19
20
21
22
# File 'lib/deco_lite/field_creatable.rb', line 18

def create_field_accessor(field_name:, options:)
  validate_field_conflicts!(field_name: field_name, options: options)

  self.class.attr_accessor(field_name) if field_name.present?
end

#create_field_accessors(field_names:, options:) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/deco_lite/field_creatable.rb', line 10

def create_field_accessors(field_names:, options:)
  return if field_names.blank?

  field_names.each do |field_name|
    create_field_accessor(field_name: field_name, options: options)
  end
end