Sha256: 55254c84a65a8f47afaa8d9eac96ec07043101918b49adc847a84f4c4ad7bcf9
Contents?: true
Size: 863 Bytes
Versions: 5
Compression:
Stored size: 863 Bytes
Contents
# frozen_string_literal: true module Openapi3Parser module Validators class Reference def initialize(given_reference) @given_reference = given_reference end def valid? errors.empty? end def errors @errors ||= Array(build_errors) end private attr_reader :given_reference def build_errors return "expected a string" unless given_reference.is_a?(String) begin uri = URI.parse(given_reference) rescue URI::Error return "could not parse as a URI" end check_fragment(uri) || [] end def check_fragment(uri) return if uri.fragment.nil? || uri.fragment.empty? first_char = uri.fragment[0] "invalid JSON pointer, expected a root slash" if first_char != "/" end end end end
Version data entries
5 entries across 5 versions & 1 rubygems