Module: Commons::Controllers::SchemaValidable

Defined in:
lib/commons/controllers/schema_validable.rb

Instance Method Summary collapse

Instance Method Details

#validate_request(request_data, schema) ⇒ Hash

Método que valida datos en base a un Schema

Parameters:

  • request_data (Hash)

    datos a validar

  • schema (Dry::Validation::Contract)

    Schema de validación

Returns:

  • (Hash)

Raises:



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/commons/controllers/schema_validable.rb', line 14

def validate_request(request_data, schema)
  validated_params = schema.call(request_data)

  if validated_params.failure?
    raise Commons::Errors::UnprocessableEntity.new(nil, nil,
      meta: { validation_errors: validated_params.errors.to_h }
    )
  end

  validated_params.to_h
end