Module: ArtirixDataModels::Model::Attributes::ClassMethods
- Defined in:
- lib/artirix_data_models/model.rb
Instance Method Summary collapse
-
#all_defined_attributes ⇒ Object
deal with model inheritance.
- #attribute(*attributes) ⇒ Object
- #attribute_config ⇒ Object
- #defined_attributes ⇒ Object
- #inherited(child_class) ⇒ Object
- #writer_visibility ⇒ Object
- #writer_visibility=(visibility) ⇒ Object
Instance Method Details
#all_defined_attributes ⇒ Object
deal with model inheritance
167 168 169 |
# File 'lib/artirix_data_models/model.rb', line 167 def all_defined_attributes attribute_config.all_attributes end |
#attribute(*attributes) ⇒ Object
153 154 155 156 |
# File 'lib/artirix_data_models/model.rb', line 153 def attribute(*attributes) = attributes. attributes.each { |attribute| _define_attribute attribute, } end |
#attribute_config ⇒ Object
158 159 160 |
# File 'lib/artirix_data_models/model.rb', line 158 def attribute_config @attribute_config ||= AttributeConfig.new end |
#defined_attributes ⇒ Object
162 163 164 |
# File 'lib/artirix_data_models/model.rb', line 162 def defined_attributes attribute_config.attributes end |
#inherited(child_class) ⇒ Object
171 172 173 |
# File 'lib/artirix_data_models/model.rb', line 171 def inherited(child_class) child_class.attribute_config.parent_attribute_config = attribute_config end |
#writer_visibility ⇒ Object
175 176 177 |
# File 'lib/artirix_data_models/model.rb', line 175 def writer_visibility @writer_visibility ||= :private end |
#writer_visibility=(visibility) ⇒ Object
179 180 181 182 |
# File 'lib/artirix_data_models/model.rb', line 179 def writer_visibility=(visibility) raise InvalidArgumentError, "Invalid visibility #{visibility.inspect}" unless [:public, :private, :protected].include? visibility @writer_visibility = visibility end |