Class: GrapeOAS::Exporter::OAS2::Response

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Response.



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

def initialize(responses, ref_tracker = nil, nullable_strategy: nil)
  @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
23
24
25
# File 'lib/grape_oas/exporter/oas2/response.rb', line 13

def build
  res = {}
  Array(@responses).each do |resp|
    res[resp.http_status] = {
      "description" => resp.description,
      "schema" => build_response_schema(resp),
      "headers" => build_headers(resp.headers),
      "examples" => build_examples(resp.media_types, resp.examples)
    }.compact
    res[resp.http_status].merge!(resp.extensions) if resp.extensions
  end
  res
end