Class: GrapeOAS::Exporter::OAS3::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/grape_oas/exporter/oas3/response.rb

Instance Method Summary collapse

Constructor Details

#initialize(responses, ref_tracker = nil, nullable_strategy: Constants::NullableStrategy::KEYWORD) ⇒ Response

Returns a new instance of Response.



7
8
9
10
11
# File 'lib/grape_oas/exporter/oas3/response.rb', line 7

def initialize(responses, ref_tracker = nil, nullable_strategy: Constants::NullableStrategy::KEYWORD)
  @responses = responses
  @ref_tracker = ref_tracker
  @nullable_strategy = nullable_strategy
end

Instance Method Details

#buildObject



13
14
15
16
17
18
19
20
21
22
# File 'lib/grape_oas/exporter/oas3/response.rb', line 13

def build
  @responses.each_with_object({}) do |resp, h|
    h[resp.http_status] = {
      "description" => resp.description || "Response",
      "headers" => build_headers(resp.headers),
      "content" => build_content(resp.media_types, resp.examples)
    }.compact
    h[resp.http_status].merge!(resp.extensions) if resp.extensions
  end
end