module Scorpio::OpenAPI::Document
A document that defines or describes an API. An OpenAPI
description document uses and conforms to the OpenAPI
Specification.
Scorpio::OpenAPI::Document
is a module common to V2
and V3
documents.
Public Class Methods
from_instance(instance)
click to toggle source
takes a document, generally a Hash, and returns a Scorpio
OpenAPI
Document
instantiating it.
@param instance [#to_hash] the document to represent as a Scorpio
OpenAPI
Document
@return [Scorpio::OpenAPI::V2::Document, Scorpio::OpenAPI::V3::Document]
# File lib/scorpio/openapi/document.rb, line 14 def from_instance(instance) if instance.is_a?(Scorpio::OpenAPI::Document) instance elsif instance.is_a?(JSI::Base) raise(TypeError, "instance is unexpected JSI type: #{instance.class.inspect}") elsif instance.respond_to?(:to_hash) if instance['swagger'] =~ /\A2(\.|\z)/ instance = Scorpio::OpenAPI::V2::Document.new_jsi(instance) elsif instance['openapi'] =~ /\A3(\.|\z)/ instance = Scorpio::OpenAPI::V3::Document.new_jsi(instance) else raise(ArgumentError, "instance does not look like a recognized openapi document") end else raise(TypeError, "instance does not look like a hash (json object)") end end
Public Instance Methods
operations()
click to toggle source
# File lib/scorpio/openapi/document.rb, line 74 def operations return @operations if instance_variable_defined?(:@operations) @operations = OperationsScope.new(self) end
v2?()
click to toggle source
# File lib/scorpio/openapi/document.rb, line 66 def v2? is_a?(V2::Document) end
v3?()
click to toggle source
# File lib/scorpio/openapi/document.rb, line 70 def v3? is_a?(V3::Document) end