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.



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

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.



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

def always_in_partial_mode_list
  @always_in_partial_mode_list
end

#attribute_listObject (readonly)

Returns the value of attribute attribute_list.



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

def attribute_list
  @attribute_list
end

#default_full_modeObject

Returns the value of attribute default_full_mode.



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

def default_full_mode
  @default_full_mode
end

#parent_attribute_configObject

Returns the value of attribute parent_attribute_config.



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

def parent_attribute_config
  @parent_attribute_config
end

Instance Method Details

#add_attribute(attribute) ⇒ Object



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

def add_attribute(attribute)
  attribute_list << attribute
end

#all_attributesObject



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

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

#always_in_partial_mode(attribute) ⇒ Object



507
508
509
# File 'lib/artirix_data_models/model.rb', line 507

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

#attributesObject



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

def attributes
  attribute_list.to_a
end

#is_always_in_partial_mode?(attribute) ⇒ Boolean

Returns:

  • (Boolean)


515
516
517
# File 'lib/artirix_data_models/model.rb', line 515

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



511
512
513
# File 'lib/artirix_data_models/model.rb', line 511

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