module ReeDto::DtoClassMethods
def build(attrs = nil, **kwargs)
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
def collections
def collections @collections ||= [] end
def fields
def fields @fields ||= [] end
def fields_with_default
def fields_with_default @fields_with_default ||= [] end
def set_collections(v)
def set_collections(v) @collections = v end
def set_fields(v)
def set_fields(v) @fields = v end
def set_fields_with_default(v)
def set_fields_with_default(v) @fields_with_default = v end