Sha256: 170d961ca08103497dce50c513997ce975429f04beacd889e6eebd1318bf7ff6
Contents?: true
Size: 836 Bytes
Versions: 4
Compression:
Stored size: 836 Bytes
Contents
# frozen_string_literal: true require "yaml" require "json" module Openapi3Parser class SourceInput class StringParser def self.call(input, filename = nil) new(input, filename).call end def initialize(input, filename) @input = input @filename = filename end def call json? ? parse_json : parse_yaml end private_class_method :new private attr_reader :input, :filename def json? return false if filename && ::File.extname(filename) == ".yaml" json_filename = filename && ::File.extname(filename) == ".json" json_filename || input.strip[0] == "{" end def parse_json JSON.parse(input) end def parse_yaml YAML.safe_load(input, [], [], true) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems