Module: ReeDto::DtoClassMethods
- Includes:
- Ree::Contracts::ArgContracts, Ree::Contracts::Core
- Defined in:
- lib/ree_lib/packages/ree_dto/package/ree_dto/dto/dto_class_methods.rb
Instance Method Summary collapse
- #build(attrs = nil, **kwargs) ⇒ Object
- #collections ⇒ Object
- #fields ⇒ Object
- #fields_with_default ⇒ Object
Instance Method Details
#build(attrs = nil, **kwargs) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ree_lib/packages/ree_dto/package/ree_dto/dto/dto_class_methods.rb', line 23 def build(attrs = nil, **kwargs) dto_obj = new(attrs || kwargs) set_attrs = attrs ? attrs.keys : kwargs.keys fields_to_set = fields_with_default.reject{ set_attrs.include?(_1.name) } fields_to_set.each do |field| dto_obj.set_attr(field.name, field.default) end dto_obj end |
#collections ⇒ Object
19 20 21 |
# File 'lib/ree_lib/packages/ree_dto/package/ree_dto/dto/dto_class_methods.rb', line 19 def collections @collections ||= [] end |
#fields ⇒ Object
9 10 11 |
# File 'lib/ree_lib/packages/ree_dto/package/ree_dto/dto/dto_class_methods.rb', line 9 def fields @fields ||= [] end |
#fields_with_default ⇒ Object
14 15 16 |
# File 'lib/ree_lib/packages/ree_dto/package/ree_dto/dto/dto_class_methods.rb', line 14 def fields_with_default @fields_with_default ||= [] end |