Sha256: 64fc92b53a4f1ae33e639ecc5dbe5e1f0ab325b4127aafb09240913ea13933bb

Contents?: true

Size: 949 Bytes

Versions: 21

Compression:

Stored size: 949 Bytes

Contents

# TODO: info object
# TODO: servers object
# TODO: tags object
# TODO: externalDocs object

module OpenAPIParser::Schemas
  class OpenAPI < Base
    def initialize(raw_schema, config)
      super('#', nil, self, raw_schema)
      @find_object_cache = {}
      @path_item_finder = OpenAPIParser::PathItemFinder.new(paths) if paths # invalid definition
      @config = config
    end

    # @!attribute [r] openapi
    #   @return [String, nil]
    openapi_attr_values :openapi

    # @!attribute [r] paths
    #   @return [Paths, nil]
    openapi_attr_object :paths, Paths, reference: false

    # @!attribute [r] components
    #   @return [Components, nil]
    openapi_attr_object :components, Components, reference: false

    # @return [OpenAPIParser::RequestOperation, nil]
    def request_operation(http_method, request_path)
      OpenAPIParser::RequestOperation.create(http_method, request_path, @path_item_finder, @config)
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
openapi_parser-0.9.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.8.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.7.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.6.1 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.6.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.5.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.4.1 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.4.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.3.1 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.3.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.2.7 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.2.5 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.2.4 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.2.3 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.2.2 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.2.1 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.2.0 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.1.9 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.1.8 lib/openapi_parser/schemas/openapi.rb
openapi_parser-0.1.7 lib/openapi_parser/schemas/openapi.rb