Class: Committee::SchemaValidator::OpenAPI3::ParameterDeserializer

Inherits:
Object
  • Object
show all
Defined in:
lib/committee/schema_validator/open_api_3/parameter_deserializer.rb

Overview

Deserializes request parameters based on OpenAPI 3 parameter style and explode settings

Instance Method Summary collapse

Constructor Details

#initialize(request_operation) ⇒ ParameterDeserializer

Returns a new instance of ParameterDeserializer.

Parameters:

  • request_operation (OpenAPIParser::RequestOperation)


14
15
16
17
# File 'lib/committee/schema_validator/open_api_3/parameter_deserializer.rb', line 14

def initialize(request_operation)
  @request_operation = request_operation
  @parameters = request_operation.operation_object.parameters || []
end

Instance Method Details

#deserialize_headers(raw_headers) ⇒ Hash

Deserialize header parameters

Parameters:

  • raw_headers (Hash)

    Raw headers

Returns:

  • (Hash)

    Deserialized headers according to OpenAPI schema



36
37
38
# File 'lib/committee/schema_validator/open_api_3/parameter_deserializer.rb', line 36

def deserialize_headers(raw_headers)
  deserialize_params_by_location(raw_headers, 'header')
end

#deserialize_path_params(raw_params) ⇒ Hash

Deserialize path parameters

Parameters:

  • raw_params (Hash)

    Raw path parameters

Returns:

  • (Hash)

    Deserialized parameters according to OpenAPI schema



29
30
31
# File 'lib/committee/schema_validator/open_api_3/parameter_deserializer.rb', line 29

def deserialize_path_params(raw_params)
  deserialize_params_by_location(raw_params, 'path')
end

#deserialize_query_params(raw_params) ⇒ Hash

Deserialize query parameters

Parameters:

  • raw_params (Hash)

    Raw query parameters from Rack

Returns:

  • (Hash)

    Deserialized parameters according to OpenAPI schema



22
23
24
# File 'lib/committee/schema_validator/open_api_3/parameter_deserializer.rb', line 22

def deserialize_query_params(raw_params)
  deserialize_params_by_location(raw_params, 'query')
end