Class: GrapeOAS::Exporter::OAS3::RequestBody

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

Instance Method Summary collapse

Constructor Details

#initialize(request_body, ref_tracker = nil, nullable_strategy: Constants::NullableStrategy::KEYWORD) ⇒ RequestBody

Returns a new instance of RequestBody.



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

def initialize(request_body, ref_tracker = nil, nullable_strategy: Constants::NullableStrategy::KEYWORD)
  @request_body = request_body
  @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
# File 'lib/grape_oas/exporter/oas3/request_body.rb', line 13

def build
  return nil unless @request_body

  data = {
    "description" => @request_body.description,
    "required" => @request_body.required,
    "content" => build_content(@request_body.media_types)
  }.compact

  data.merge!(@request_body.extensions) if @request_body.extensions&.any?
  data
end