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



370
371
372
373
374
# File 'lib/artirix_data_models/model.rb', line 370

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

Instance Attribute Details

#always_in_partial_mode_listObject (readonly)

Returns the value of attribute always_in_partial_mode_list.



367
368
369
# File 'lib/artirix_data_models/model.rb', line 367

def always_in_partial_mode_list
  @always_in_partial_mode_list
end

#attribute_listObject (readonly)

Returns the value of attribute attribute_list.



367
368
369
# File 'lib/artirix_data_models/model.rb', line 367

def attribute_list
  @attribute_list
end

#parent_attribute_configObject

Returns the value of attribute parent_attribute_config.



368
369
370
# File 'lib/artirix_data_models/model.rb', line 368

def parent_attribute_config
  @parent_attribute_config
end

Instance Method Details

#add_attribute(attribute) ⇒ Object



384
385
386
# File 'lib/artirix_data_models/model.rb', line 384

def add_attribute(attribute)
  attribute_list << attribute
end

#all_attributesObject



380
381
382
# File 'lib/artirix_data_models/model.rb', line 380

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

#always_in_partial_mode(attribute) ⇒ Object



388
389
390
# File 'lib/artirix_data_models/model.rb', line 388

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

#attributesObject



376
377
378
# File 'lib/artirix_data_models/model.rb', line 376

def attributes
  attribute_list.to_a
end

#is_always_in_partial_mode?(attribute) ⇒ Boolean



396
397
398
# File 'lib/artirix_data_models/model.rb', line 396

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



392
393
394
# File 'lib/artirix_data_models/model.rb', line 392

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