Sha256: d78bd8367e7f0c8f198cc3719c710489ca63ad0b994d97fa6234806b4a8047a7

Contents?: true

Size: 885 Bytes

Versions: 7

Compression:

Stored size: 885 Bytes

Contents

=begin
* Description: Patches json-schema gem to work on windows
* Author: Josh Bradley
* Date: 2014-09-17
* License: Public Domain
=end

module JSON

	class Validator

		def load_ref_schema(parent_schema,ref)
			uri = URI.parse(ref)
			if uri.relative?
				uri = parent_schema.uri.clone

				# Check for absolute path
				path = ref.split("#")[0]

				# This is a self reference and thus the schema does not need to be re-loaded
				if path.nil? || path == ''
					return
				end

				if path && path[0,1] == '/'
					uri.path = Pathname.new(path).cleanpath.to_s
				else
					uri = parent_schema.uri.merge(path)
				end
				uri.fragment = ''
			end

			if Validator.schemas[uri.to_s].nil?
				schema = JSON::Schema.new(JSON::Validator.parse(open(uri.to_s.chomp('#')).read), uri, @options[:version])
				Validator.add_schema(schema)
				build_schemas(schema)
			end

		end

	end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
adiwg-mdtranslator-0.10.2 lib/adiwg/mdtranslator/validator.rb
adiwg-mdtranslator-0.9.0 lib/adiwg/mdtranslator/validator.rb
adiwg-mdtranslator-0.8.6 lib/adiwg/mdtranslator/validator.rb
adiwg-mdtranslator-0.8.5 lib/adiwg/mdtranslator/validator.rb
adiwg-mdtranslator-0.8.2 lib/adiwg/mdtranslator/validator.rb
adiwg-mdtranslator-0.8.1 lib/adiwg/mdtranslator/validator.rb
adiwg-mdtranslator-0.8.0 lib/adiwg/mdtranslator/validator.rb