class OpenApi::PathItem
github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#path-item-object
Constants
- OPERATION_NAMES
Attributes
description[RW]
operations[RW]
parameters[RW]
ref[RW]
servers[RW]
summary[RW]
Public Class Methods
load(hash)
click to toggle source
# File lib/open_api/path_item.rb, line 30 def self.load(hash) operations = hash.select { |key| key.to_sym.in?(OPERATION_NAMES) } new( ref: hash["$ref"]&.to_s, summary: hash["summary"]&.to_s, description: hash["description"]&.to_s, servers: hash["servers"]&.map { |server_hash| Server.load(server_hash) }, parameters: hash["parameters"]&.map { |h| Reference.load(h) || Parameter.load(h) }, **operations.map { |k ,v| [k.to_sym, Operation.load(v)] }.to_h, ) end
new(ref: nil, summary: nil, description: nil, servers: nil, parameters: nil, **operations)
click to toggle source
# File lib/open_api/path_item.rb, line 10 def initialize(ref: nil, summary: nil, description: nil, servers: nil, parameters: nil, **operations) self.ref = ref self.summary = summary self.description = description self.servers = servers self.parameters = parameters self.operations = operations.map { |k, v| [k.to_s.underscore, v] }.to_h.with_indifferent_access end
Public Instance Methods
serializable_hash()
click to toggle source
# File lib/open_api/path_item.rb, line 19 def serializable_hash { "ref" => ref&.to_s, "summary" => summary&.to_s, "description" => description&.to_s, "servers" => servers&.map(&:serializable_hash), "parameters" => parameters&.map(&:serializable_hash), }.merge(operations.map { |k, v| [k.to_s.underscore, v.serializable_hash] }.to_h) .compact end