Class: ArtirixDataModels::Model::AttributeConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/artirix_data_models/model.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAttributeConfig

Returns a new instance of AttributeConfig.



475
476
477
478
479
480
# File 'lib/artirix_data_models/model.rb', line 475

def initialize
  @attribute_list              = Set.new
  @always_in_partial_mode_list = Set.new
  @parent_attribute_config     = nil
  @default_full_mode           = false
end

Instance Attribute Details

#always_in_partial_mode_listObject (readonly)

Returns the value of attribute always_in_partial_mode_list.



472
473
474
# File 'lib/artirix_data_models/model.rb', line 472

def always_in_partial_mode_list
  @always_in_partial_mode_list
end

#attribute_listObject (readonly)

Returns the value of attribute attribute_list.



472
473
474
# File 'lib/artirix_data_models/model.rb', line 472

def attribute_list
  @attribute_list
end

#default_full_modeObject

Returns the value of attribute default_full_mode.



473
474
475
# File 'lib/artirix_data_models/model.rb', line 473

def default_full_mode
  @default_full_mode
end

#parent_attribute_configObject

Returns the value of attribute parent_attribute_config.



473
474
475
# File 'lib/artirix_data_models/model.rb', line 473

def parent_attribute_config
  @parent_attribute_config
end

Instance Method Details

#add_attribute(attribute) ⇒ Object



490
491
492
# File 'lib/artirix_data_models/model.rb', line 490

def add_attribute(attribute)
  attribute_list << attribute
end

#all_attributesObject



486
487
488
# File 'lib/artirix_data_models/model.rb', line 486

def all_attributes
  Array(parent_attribute_config.try(:attributes)) + attributes
end

#always_in_partial_mode(attribute) ⇒ Object



494
495
496
# File 'lib/artirix_data_models/model.rb', line 494

def always_in_partial_mode(attribute)
  @always_in_partial_mode_list << (attribute.to_s)
end

#attributesObject



482
483
484
# File 'lib/artirix_data_models/model.rb', line 482

def attributes
  attribute_list.to_a
end

#is_always_in_partial_mode?(attribute) ⇒ Boolean

Returns:

  • (Boolean)


502
503
504
# File 'lib/artirix_data_models/model.rb', line 502

def is_always_in_partial_mode?(attribute)
  @always_in_partial_mode_list.include?(attribute.to_s) || parent_attribute_config.try(:is_always_in_partial_mode?, attribute)
end

#remove_always_in_partial_mode(attribute) ⇒ Object



498
499
500
# File 'lib/artirix_data_models/model.rb', line 498

def remove_always_in_partial_mode(attribute)
  @always_in_partial_mode_list.delete attribute.to_s
end