class OpenApi::DSL::ResponseObj
github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.0.md#responseObject
Attributes
headers[RW]
media_types[RW]
processed[RW]
Public Class Methods
new(desc)
click to toggle source
# File lib/oas_objs/response_obj.rb, line 14 def initialize(desc) self.media_types = [ ] self.headers = { } self.processed = { description: desc } end
Public Instance Methods
absorb(desc, media_type, headers: { }, **media_hash)
click to toggle source
# File lib/oas_objs/response_obj.rb, line 20 def absorb(desc, media_type, headers: { }, **media_hash) self.processed[:description] = desc if desc.present? self.headers.merge!(headers) media_types << MediaTypeObj.new(media_type, **media_hash) self end
process()
click to toggle source
# File lib/oas_objs/response_obj.rb, line 27 def process content = media_types.map(&:process).reduce({ }, &fusion) processed[:content] = content if content.present? _headers = headers.map do |name, schema| schema = schema.is_a?(Hash) ? schema : { type: schema } [ name, HeaderObj.new(schema.delete(:desc), schema).process ] end.to_h processed[:headers] = _headers if _headers.present? processed end