Class: OpenApi::Operation
- Inherits:
-
Object
- Object
- OpenApi::Operation
- Includes:
- EquatableAsContent
- Defined in:
- lib/open_api/operation.rb
Instance Attribute Summary collapse
-
#callbacks ⇒ Object
Returns the value of attribute callbacks.
-
#deprecated ⇒ Object
Returns the value of attribute deprecated.
-
#description ⇒ Object
Returns the value of attribute description.
-
#external_docs ⇒ Object
Returns the value of attribute external_docs.
-
#operation_id ⇒ Object
Returns the value of attribute operation_id.
-
#parameters ⇒ Object
Returns the value of attribute parameters.
-
#request_body ⇒ Object
Returns the value of attribute request_body.
-
#responses ⇒ Object
Returns the value of attribute responses.
-
#security ⇒ Object
Returns the value of attribute security.
-
#servers ⇒ Object
Returns the value of attribute servers.
-
#summary ⇒ Object
Returns the value of attribute summary.
-
#tags ⇒ Object
Returns the value of attribute tags.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(responses:, tags: nil, summary: nil, description: nil, external_docs: nil, operation_id: nil, parameters: nil, request_body: nil, callbacks: nil, deprecated: nil, security: nil, servers: nil) ⇒ Operation
constructor
A new instance of Operation.
- #serializable_hash ⇒ Object
Methods included from EquatableAsContent
Constructor Details
#initialize(responses:, tags: nil, summary: nil, description: nil, external_docs: nil, operation_id: nil, parameters: nil, request_body: nil, callbacks: nil, deprecated: nil, security: nil, servers: nil) ⇒ Operation
Returns a new instance of Operation.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/open_api/operation.rb', line 7 def initialize(responses:, tags: nil, summary: nil, description: nil, external_docs: nil, operation_id: nil, parameters: nil, request_body: nil, callbacks: nil, deprecated: nil, security: nil, servers: nil) self.responses = responses self. = self.summary = summary self.description = description self.external_docs = external_docs self.operation_id = operation_id self.parameters = parameters self.request_body = request_body self.callbacks = callbacks self.deprecated = deprecated self.security = security self.servers = servers end |
Instance Attribute Details
#callbacks ⇒ Object
Returns the value of attribute callbacks.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def callbacks @callbacks end |
#deprecated ⇒ Object
Returns the value of attribute deprecated.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def deprecated @deprecated end |
#description ⇒ Object
Returns the value of attribute description.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def description @description end |
#external_docs ⇒ Object
Returns the value of attribute external_docs.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def external_docs @external_docs end |
#operation_id ⇒ Object
Returns the value of attribute operation_id.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def operation_id @operation_id end |
#parameters ⇒ Object
Returns the value of attribute parameters.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def parameters @parameters end |
#request_body ⇒ Object
Returns the value of attribute request_body.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def request_body @request_body end |
#responses ⇒ Object
Returns the value of attribute responses.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def responses @responses end |
#security ⇒ Object
Returns the value of attribute security.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def security @security end |
#servers ⇒ Object
Returns the value of attribute servers.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def servers @servers end |
#summary ⇒ Object
Returns the value of attribute summary.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def summary @summary end |
#tags ⇒ Object
Returns the value of attribute tags.
5 6 7 |
# File 'lib/open_api/operation.rb', line 5 def end |
Class Method Details
.load(hash) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/open_api/operation.rb', line 39 def self.load(hash) return unless hash new( responses: Responses.load(hash["responses"]), tags: hash["tags"], summary: hash["summary"]&.to_s, description: hash["description"]&.to_s, external_docs: ExternalDocumentation.load(hash["externalDocs"]), operation_id: hash["operationId"]&.to_s, parameters: hash["parameters"]&.map { |h| Reference.load(h) || Parameter.load(h) }, request_body: Reference.load(hash["requestBody"]) || RequestBody.load(hash["requestBody"]), callbacks: hash["callbacks"]&.map { |k, v| [k, Reference.load(v) || Callback.load(v)] }&.to_h, deprecated: hash["deprecated"], security: hash["security"]&.map { |h| SecurityRequirement.load(h) }, servers: hash["servers"]&.map { |h| Server.load(h) }, ) end |
Instance Method Details
#serializable_hash ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/open_api/operation.rb', line 22 def serializable_hash { "description" => description&.to_s, "responses" => responses.serializable_hash, "tags" => &.map(&:to_s), "summary" => summary&.to_s, "externalDocs" => external_docs&.serializable_hash, "operationId" => operation_id&.to_s, "parameters" => parameters&.map(&:serializable_hash), "requestBody" => request_body&.serializable_hash, "callbacks" => callbacks&.map { |k, v| [k.to_s, v.serializable_hash] }&.to_hash, "deprecated" => deprecated, "security" => security&.map(&:serializable_hash), "servers" => servers&.map(&:server), }.compact end |