Method: ContractValueObject.attributes
- Defined in:
- lib/contract_value_object.rb
.attributes(attributes = nil) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/contract_value_object.rb', line 11 def attributes(attributes = nil) if attributes.nil? return @attributes if instance_variable_defined?(:@attributes) raise ArgumentError, 'Calling for attributes without having defined them.' end attr_accessor(*attributes.keys) attr_writers = attributes.keys.map { |attribute| :"#{attribute}=" } private *attr_writers @attributes = attributes end |