debian-mirror-gitlab/config/initializers/json_validator_patch.rb
2021-04-01 16:36:13 +05:30

29 lines
850 B
Ruby

# frozen_string_literal: true
# This patches https://github.com/ruby-json-schema/json-schema/blob/765e6d8fdbfdaca1a42fa743f4621e757f9f6a03/lib/json-schema/validator.rb
# to address https://github.com/ruby-json-schema/json-schema/issues/148.
require 'json-schema'
module JSON
class Validator
def initialize_data(data)
if @options[:parse_data]
if @options[:json]
data = self.class.parse(data)
elsif @options[:uri]
json_uri = Util::URI.normalized_uri(data)
data = self.class.parse(custom_open(json_uri))
elsif data.is_a?(String)
begin
data = self.class.parse(data)
rescue JSON::Schema::JsonParseError
# Silently discard the error - use the data as-is
end
end
end
JSON::Schema.stringify(data)
end
end
end