Sha256: a9971eaf779d5e77119102dd65eea16d2a774c8cd4810f8090651a86a3091d70

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

Dir.glob(File.join(__dir__, "openapi3_parser", "**", "*.rb")).each do |file|
  require file
end

module Openapi3Parser
  # For a variety of inputs this will construct an OpenAPI document. For a
  # String/File input it will try to determine if the input is JSON or YAML.
  #
  # @param  [String, Hash, File]  input Source for the OpenAPI document
  #
  # @return [Document]
  def self.load(input)
    Document.new(SourceInput::Raw.new(input))
  end

  # For a given string filename this will read the file and parse it as an
  # OpenAPI document. It will try detect automatically whether the contents
  # are JSON or YAML.
  #
  # @param  [String]  path  Filename of the OpenAPI document
  #
  # @return [Document]
  def self.load_file(path)
    Document.new(SourceInput::File.new(path))
  end

  # For a given string URL this will request the resource and parse it as an
  # OpenAPI document. It will try detect automatically whether the contents
  # are JSON or YAML.
  #
  # @param  [String]  url URL of the OpenAPI document
  #
  # @return [Document]
  def self.load_url(url)
    Document.new(SourceInput::Url.new(url.to_s))
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
openapi3_parser-0.7.0 lib/openapi3_parser.rb
openapi3_parser-0.6.1 lib/openapi3_parser.rb
openapi3_parser-0.6.0 lib/openapi3_parser.rb
openapi3_parser-0.5.2 lib/openapi3_parser.rb