Class: GrapeOAS::ApiModelBuilders::ResponseParsers::DocumentationResponsesParser
- Inherits:
-
Object
- Object
- GrapeOAS::ApiModelBuilders::ResponseParsers::DocumentationResponsesParser
- Includes:
- Concerns::OasUtilities, Base
- Defined in:
- lib/grape_oas/api_model_builders/response_parsers/documentation_responses_parser.rb
Overview
Parser for responses defined in documentation: { responses: { … } } This is the most comprehensive format and aligns with OpenAPI specification
Constant Summary
Constants included from Concerns::OasUtilities
Concerns::OasUtilities::VALID_CONSTANT_PATTERN
Instance Method Summary collapse
Methods included from Concerns::OasUtilities
extract_extensions, #extract_extensions, pluralize, #pluralize, underscore, #underscore, valid_constant_name?, #valid_constant_name?
Instance Method Details
#applicable?(route) ⇒ Boolean
12 13 14 |
# File 'lib/grape_oas/api_model_builders/response_parsers/documentation_responses_parser.rb', line 12 def applicable?(route) route..dig(:documentation, :responses).is_a?(Hash) end |
#parse(route) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/grape_oas/api_model_builders/response_parsers/documentation_responses_parser.rb', line 16 def parse(route) doc_resps = route..dig(:documentation, :responses) return [] unless doc_resps.is_a?(Hash) doc_resps.map do |code, doc| doc = normalize_hash_keys(doc) { code: code, message: extract_description(doc), headers: doc[:headers], entity: extract_entity(doc, route.[:entity]), extensions: extract_extensions(doc), examples: doc[:examples] } end end |