class OpenApi::Specification
github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#oasObject
Attributes
components[RW]
external_docs[RW]
info[RW]
openapi[RW]
paths[RW]
security[RW]
servers[RW]
Public Class Methods
load(hash)
click to toggle source
# File lib/open_api/specification.rb, line 30 def self.load(hash) return unless hash new( openapi: hash["openapi"].to_s, info: Info.load(hash["info"]), paths: Paths.load(hash["paths"]), components: Components.load(hash["components"]), security: hash["security"]&.map { |requirement_hash| SecurityRequirement.load(requirement_hash) }, tags: hash["tags"]&.map { |tag_hash| Tag.load(tag_hash) }, external_docs: ExternalDocumentation.load(hash["externalDocs"]), ) end
new(openapi:, info:, servers: nil, paths:, components: nil, security: nil, tags: nil, external_docs: nil)
click to toggle source
# File lib/open_api/specification.rb, line 8 def initialize(openapi:, info:, servers: nil, paths:, components: nil, security: nil, tags: nil, external_docs: nil) self.openapi = openapi self.info = info self.paths = paths self.components = components self.security = security self.tags = tags self.external_docs = external_docs end
Public Instance Methods
serializable_hash()
click to toggle source
# File lib/open_api/specification.rb, line 18 def serializable_hash { "openapi" => openapi.to_s, "info" => info.serializable_hash, "paths" => paths.serializable_hash, "components" => components&.serializable_hash, "security" => security&.map(&:serializable_hash), "tags" => tags&.map(&:serializable_hash), "externalDocs" => external_docs&.serializable_hash, }.compact end