module OpenAPIParser::ParameterValidatable
Public Instance Methods
set_parent_path_item(path_item)
click to toggle source
@param [PathItem] path_item parent
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 17 def set_parent_path_item(path_item) @merged_parameter = (parameters || []) + (path_item.parameters || []) nil end
validate_path_params(path_params, options)
click to toggle source
@param [Hash] path_params path parameters @param [OpenAPIParser::SchemaValidator::Options] options request validator options
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 4 def validate_path_params(path_params, options) OpenAPIParser::ParameterValidator.validate_parameter(path_parameter_hash, path_params, object_reference, options) end
validate_request_parameter(params, headers, options)
click to toggle source
@param [Hash] params parameter hash @param [Hash] headers headers hash @param [OpenAPIParser::SchemaValidator::Options] options request validator options
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 11 def validate_request_parameter(params, headers, options) validate_header_parameter(headers, object_reference, options) if options.validate_header validate_query_parameter(params, object_reference, options) end
Private Instance Methods
divided_parameter_hash()
click to toggle source
@return [Hash{String => Hash{String => Parameter}}] hash[name] => Parameter
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 51 def divided_parameter_hash @divided_parameter_hash ||= (@merged_parameter || []). group_by(&:in). map { |in_type, params| # rubocop:disable Style/BlockDelimiters [ in_type, params.map { |param| [param.name, param] }.to_h, ] }.to_h end
header_parameter_hash()
click to toggle source
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 38 def header_parameter_hash divided_parameter_hash['header'] || [] end
path_parameter_hash()
click to toggle source
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 42 def path_parameter_hash divided_parameter_hash['path'] || [] end
query_parameter_hash()
click to toggle source
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 46 def query_parameter_hash divided_parameter_hash['query'] || [] end
validate_header_parameter(headers, object_reference, options)
click to toggle source
@param [Hash] headers header hash @param [String] object_reference @param [OpenAPIParser::SchemaValidator::Options] options request validator options
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 34 def validate_header_parameter(headers, object_reference, options) OpenAPIParser::ParameterValidator.validate_parameter(header_parameter_hash, headers, object_reference, options, true) end
validate_query_parameter(params, object_reference, options)
click to toggle source
@param [Hash] params query parameter hash @param [String] object_reference @param [OpenAPIParser::SchemaValidator::Options] options request validator options
# File lib/openapi_parser/concerns/parameter_validatable.rb, line 27 def validate_query_parameter(params, object_reference, options) OpenAPIParser::ParameterValidator.validate_parameter(query_parameter_hash, params, object_reference, options) end