Class: OpenApi::RequestBody

Inherits:
Object
  • Object
show all
Includes:
EquatableAsContent
Defined in:
lib/open_api/request_body.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from EquatableAsContent

#==

Constructor Details

#initialize(description: nil, content:, required: false) ⇒ RequestBody

Returns a new instance of RequestBody.



7
8
9
10
11
# File 'lib/open_api/request_body.rb', line 7

def initialize(description: nil, content:, required: false)
  self.description = description
  self.content = content.with_indifferent_access
  self.required = required
end

Instance Attribute Details

#contentObject

Returns the value of attribute content.



5
6
7
# File 'lib/open_api/request_body.rb', line 5

def content
  @content
end

#descriptionObject

Returns the value of attribute description.



5
6
7
# File 'lib/open_api/request_body.rb', line 5

def description
  @description
end

#requiredObject

Returns the value of attribute required.



5
6
7
# File 'lib/open_api/request_body.rb', line 5

def required
  @required
end

Class Method Details

.load(hash) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/open_api/request_body.rb', line 13

def self.load(hash)
  return unless hash

  new(
    description: hash["description"]&.to_s,
    content: hash["content"].map { |k, v| [k, MediaType.load(v)] }.to_h,
    required: hash["required"].nil? ? false : hash["required"]
  )
end