Class: OasCore::Builders::RequestBodyBuilder
- Inherits:
-
Object
- Object
- OasCore::Builders::RequestBodyBuilder
- Defined in:
- lib/oas_core/builders/request_body_builder.rb
Instance Method Summary collapse
- #build ⇒ Object
- #from_oas_route(oas_route) ⇒ Object
- #from_tags(tag:, examples_tags: []) ⇒ Object
-
#initialize(specification) ⇒ RequestBodyBuilder
constructor
A new instance of RequestBodyBuilder.
- #reference ⇒ Object
Constructor Details
#initialize(specification) ⇒ RequestBodyBuilder
Returns a new instance of RequestBodyBuilder.
6 7 8 9 |
# File 'lib/oas_core/builders/request_body_builder.rb', line 6 def initialize(specification) @specification = specification @request_body = Spec::RequestBody.new(specification) end |
Instance Method Details
#build ⇒ Object
28 29 30 31 32 |
# File 'lib/oas_core/builders/request_body_builder.rb', line 28 def build return {} if @request_body.content == {} @request_body end |
#from_oas_route(oas_route) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/oas_core/builders/request_body_builder.rb', line 11 def from_oas_route(oas_route) tag_request_body = oas_route.(:request_body).first return self if tag_request_body.nil? (tag: tag_request_body, examples_tags: oas_route.(:request_body_example)) self end |
#from_tags(tag:, examples_tags: []) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/oas_core/builders/request_body_builder.rb', line 20 def (tag:, examples_tags: []) @request_body.description = tag.text @request_body.content = ContentBuilder.new(@specification).with_schema(tag.content).().with_content_type(tag.content_type).build @request_body.required = tag.required self end |
#reference ⇒ Object
34 35 36 37 38 |
# File 'lib/oas_core/builders/request_body_builder.rb', line 34 def reference return {} if @request_body.content == {} @specification.components.add_request_body(@request_body) end |