Sha256: 78e42da13f9572dd3c80fe433541aced4b2f7c9b6b64d874839e6e48eb4bea12
Contents?: true
Size: 901 Bytes
Versions: 1
Compression:
Stored size: 901 Bytes
Contents
# frozen_string_literal: true require "openapi3_parser/error" require "openapi3_parser/document" require "yaml" require "json" module Openapi3Parser def self.load(input) # working_directory ||= if input.respond_to?(:read) # File.dirname(input) # else # Dir.pwd # end Document.new(parse_input(input)) end def self.load_file(path) file = File.open(path) load(file) end def self.parse_input(input) return input if input.respond_to?(:keys) extension = input.respond_to?(:extname) ? input.extname : nil contents = input.respond_to?(:read) ? input.read : input if extension == ".json" || contents.strip[0] == "{" JSON.parse(contents) else YAML.safe_load(contents, [], [], true) end end private_class_method :parse_input end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
openapi3_parser-0.1.0 | lib/openapi3_parser.rb |