Sha256: 137e252cda7eaf6fee28096793cc15574a38e5bab0ac83ea90e60b60c4e1f7b8
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
# frozen_string_literal: true require_relative 'base_object' require_relative 'tag_object' require_relative 'server_object' require_relative 'info_object' require_relative 'external_document_object' require_relative 'components_object' require_relative 'paths_object' module R2OAS module Schema module V3 class OpenapiObject < BaseObject def initialize(routes_data, tags_data, schemas_data, opts = {}) super(opts) @routes_data = routes_data @tags_data = tags_data @schemas_data = schemas_data end def to_doc result = { 'openapi' => '3.0.0', 'info' => info_doc, 'tags' => tags_doc, 'paths' => paths_doc, 'externalDocs' => external_docs_doc, 'servers' => servers_doc, 'components' => components_doc } doc.merge!(result) end private def info_doc InfoObject.new(@opts).to_doc end def tags_doc TagObject.new(@tags_data, @opts).to_doc end def paths_doc PathsObject.new(@routes_data, @opts).to_doc end def external_docs_doc ExternalDocumentObject.new(@opts).to_doc end def servers_doc ServerObject.new(@opts).to_doc end def components_doc ComponentsObject.new(@routes_data, @opts).to_doc end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
r2-oas-0.5.0 | lib/r2-oas/schema/v3/object/from_routes/openapi_object.rb |