lib/json-schema/validator.rb in json-schema-2.1.4 vs lib/json-schema/validator.rb in json-schema-2.1.5

- old
+ new

@@ -3,10 +3,11 @@ require 'pathname' require 'bigdecimal' require 'digest/sha1' require 'date' require 'thread' +require 'yaml' module JSON class Schema class ValidationError < StandardError @@ -334,10 +335,19 @@ items.each_with_index do |item,i| handle_schema(parent_schema, item) end end + # Convert enum to a hash + if parent_schema.schema["enum"] && parent_schema.schema["enum"].is_a?(Array) + enum_hash = {} + parent_schema.schema["enum"].each do |item| + enum_hash[item] = true + end + parent_schema.schema["enum"] = enum_hash + end + # Each of these might be schemas ["additionalProperties", "additionalItems", "dependencies", "extends"].each do |key| if parent_schema.schema[key].is_a?(Hash) handle_schema(parent_schema, parent_schema.schema[key]) end @@ -525,10 +535,12 @@ end if @@json_backend == 'yajl' @@serializer = lambda{|o| Yajl::Encoder.encode(o) } else - @@serializer = lambda{|o| Marshal.dump(o) } + @@serializer = lambda{|o| + YAML.dump(o) + } end end end private