Sha256: ae1e9db37ffb9001965916bf27099c1fcb79d112929472ca3d4c126926bfa03b
Contents?: true
Size: 1.97 KB
Versions: 3
Compression:
Stored size: 1.97 KB
Contents
# TODO: externalDocs # TODO: callbacks # TODO: security # TODO: servers module OpenAPIParser::Schemas class Operation < Base openapi_attr_values :tags, :summary, :description, :deprecated openapi_attr_value :operation_id, schema_key: :operationId openapi_attr_list_object :parameters, Parameter, reference: true # @!attribute [r] request_body # @return [OpenAPIParser::Schemas::RequestBody, nil] return OpenAPI3 object openapi_attr_object :request_body, RequestBody, reference: true, schema_key: :requestBody # @!attribute [r] responses # @return [OpenAPIParser::Schemas::Responses, nil] return OpenAPI3 object openapi_attr_object :responses, Responses, reference: false def validate_request_body(content_type, params, options) request_body&.validate_request_body(content_type, params, options) end # @param [Integer] status_code def validate_response_body(status_code, content_type, data) responses&.validate_response_body(status_code, content_type, data) end # @param [OpenAPIParser::SchemaValidator::Options] options def validate_request_parameter(params, options) OpenAPIParser::ParameterValidator.validate_parameter(query_parameter_hash, params, object_reference, options) end def validate_path_params(path_params, options) OpenAPIParser::ParameterValidator.validate_parameter(path_parameter_hash, path_params, object_reference, options) end private def path_parameter_hash @path_parameter_hash ||= (parameters || []). select(&:in_path?). map { |param| [param.name, param] }. to_h end def query_parameter_hash @query_parameter_hash ||= (parameters || []). select(&:in_query?). map { |param| [param.name, param] }. to_h end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
openapi_parser-0.1.8 | lib/openapi_parser/schemas/operation.rb |
openapi_parser-0.1.7 | lib/openapi_parser/schemas/operation.rb |
openapi_parser-0.1.6 | lib/openapi_parser/schemas/operation.rb |