Method: StructuraidCore::DesignCodes::Utils::SchemaDefinition::ClassMethods#structurize

Defined in:
lib/structuraid_core/design_codes/utils/schema_definition.rb

#structurize(params) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/structuraid_core/design_codes/utils/schema_definition.rb', line 26

def structurize(params)
  structured_args_names = [*required, *optional]
  structured_klass = Struct.new(*structured_args_names, :schema, keyword_init: true)
  sliced_params = params.slice(*structured_args_names)
  sliced_params.merge!(schema: name)

  structured_klass.new(sliced_params)
end