Hello community,

here is the log from the commit of package rubygem-json-schema for 
openSUSE:Factory checked in at 2018-11-26 10:33:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-json-schema (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-json-schema.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-json-schema"

Mon Nov 26 10:33:04 2018 rev:7 rq:651610 version:2.8.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-json-schema/rubygem-json-schema.changes  
2017-04-11 09:32:04.775974231 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-json-schema.new.19453/rubygem-json-schema.changes
       2018-11-26 10:34:29.884733338 +0100
@@ -1,0 +2,6 @@
+Thu Nov 22 05:19:42 UTC 2018 - Stephan Kulow <co...@suse.com>
+
+- updated to version 2.8.1
+  no changelog found
+
+-------------------------------------------------------------------

Old:
----
  json-schema-2.8.0.gem

New:
----
  json-schema-2.8.1.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-json-schema.spec ++++++
--- /var/tmp/diff_new_pack.kgQtB6/_old  2018-11-26 10:34:31.496731450 +0100
+++ /var/tmp/diff_new_pack.kgQtB6/_new  2018-11-26 10:34:31.496731450 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-json-schema
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-json-schema
-Version:        2.8.0
+Version:        2.8.1
 Release:        0
 %define mod_name json-schema
 %define mod_full_name %{mod_name}-%{version}
@@ -33,7 +33,7 @@
 BuildRequires:  %{rubygem gem2rpm}
 BuildRequires:  ruby-macros >= 5
 Url:            http://github.com/ruby-json-schema/json-schema/tree/master
-Source:         http://rubygems.org/gems/%{mod_full_name}.gem
+Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml
 Summary:        Ruby JSON Schema Validator
 License:        MIT

++++++ json-schema-2.8.0.gem -> json-schema-2.8.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2017-02-07 11:35:47.000000000 +0100
+++ new/README.md       2018-10-14 08:18:57.000000000 +0200
@@ -375,6 +375,33 @@
 errors = JSON::Validator.fully_validate(schema, {"a" => "23"})
 ```
 
+Validating a JSON Schema
+------------------------
+
+To validate that a JSON Schema conforms to the JSON Schema standard,
+you need to validate your schema against the metaschema for the appropriate
+JSON Schema Draft. All of the normal validation methods can be used
+for this. First retrieve the appropriate metaschema from the internal
+cache (using `JSON::Validator.validator_for_name()` or
+`JSON::Validator.validator_for_uri()`) and then simply validate your
+schema against it.
+
+
+```ruby
+require "json-schema"
+
+schema = {
+  "type" => "object",
+  "properties" => {
+    "a" => {"type" => "integer"}
+  }
+}
+
+metaschema = JSON::Validator.validator_for_name("draft4").metaschema
+# => true
+JSON::Validator.validate(metaschema, schema)
+```
+
 Controlling Remote Schema Reading
 ---------------------------------
 
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/dependencies.rb 
new/lib/json-schema/attributes/dependencies.rb
--- old/lib/json-schema/attributes/dependencies.rb      2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/dependencies.rb      2018-10-14 
08:18:57.000000000 +0200
@@ -34,11 +34,5 @@
         value.is_a?(String) || value.is_a?(Array) || value.is_a?(Hash)
       end
     end
-
-    class DependenciesV4Attribute < DependenciesAttribute
-      def self.accept_value?(value)
-        value.is_a?(Array) || value.is_a?(Hash)
-      end
-    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/dependencies_v4.rb 
new/lib/json-schema/attributes/dependencies_v4.rb
--- old/lib/json-schema/attributes/dependencies_v4.rb   1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/dependencies_v4.rb   2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,11 @@
+require 'json-schema/attributes/dependencies'
+
+module JSON
+  class Schema
+    class DependenciesV4Attribute < DependenciesAttribute
+      def self.accept_value?(value)
+        value.is_a?(Array) || value.is_a?(Hash)
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/divisibleby.rb 
new/lib/json-schema/attributes/divisibleby.rb
--- old/lib/json-schema/attributes/divisibleby.rb       2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/divisibleby.rb       2018-10-14 
08:18:57.000000000 +0200
@@ -12,7 +12,7 @@
 
         factor = current_schema.schema[keyword]
 
-        if factor == 0 || factor == 0.0 || (BigDecimal.new(data.to_s) % 
BigDecimal.new(factor.to_s)).to_f != 0
+        if factor == 0 || factor == 0.0 || (BigDecimal(data.to_s) % 
BigDecimal(factor.to_s)).to_f != 0
           message = "The property '#{build_fragment(fragments)}' was not 
divisible by #{factor}"
           validation_error(processor, message, fragments, current_schema, 
self, options[:record_errors])
         end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/formats/custom.rb 
new/lib/json-schema/attributes/formats/custom.rb
--- old/lib/json-schema/attributes/formats/custom.rb    2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/formats/custom.rb    2018-10-14 
08:18:57.000000000 +0200
@@ -1,4 +1,4 @@
-require 'json-schema/attribute'
+require 'json-schema/attributes/format'
 require 'json-schema/errors/custom_format_error'
 
 module JSON
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/formats/date.rb 
new/lib/json-schema/attributes/formats/date.rb
--- old/lib/json-schema/attributes/formats/date.rb      2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/formats/date.rb      2018-10-14 
08:18:57.000000000 +0200
@@ -1,4 +1,4 @@
-require 'json-schema/attribute'
+require 'json-schema/attributes/format'
 
 module JSON
   class Schema
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/formats/date_time.rb 
new/lib/json-schema/attributes/formats/date_time.rb
--- old/lib/json-schema/attributes/formats/date_time.rb 2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/formats/date_time.rb 2018-10-14 
08:18:57.000000000 +0200
@@ -1,4 +1,4 @@
-require 'json-schema/attribute'
+require 'json-schema/attributes/format'
 
 module JSON
   class Schema
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/formats/date_time_v4.rb 
new/lib/json-schema/attributes/formats/date_time_v4.rb
--- old/lib/json-schema/attributes/formats/date_time_v4.rb      2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/formats/date_time_v4.rb      2018-10-14 
08:18:57.000000000 +0200
@@ -1,4 +1,4 @@
-require 'json-schema/attribute'
+require 'json-schema/attributes/format'
 
 module JSON
   class Schema
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/formats/time.rb 
new/lib/json-schema/attributes/formats/time.rb
--- old/lib/json-schema/attributes/formats/time.rb      2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/formats/time.rb      2018-10-14 
08:18:57.000000000 +0200
@@ -1,4 +1,4 @@
-require 'json-schema/attribute'
+require 'json-schema/attributes/format'
 
 module JSON
   class Schema
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/formats/uri.rb 
new/lib/json-schema/attributes/formats/uri.rb
--- old/lib/json-schema/attributes/formats/uri.rb       2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/formats/uri.rb       2018-10-14 
08:18:57.000000000 +0200
@@ -1,4 +1,4 @@
-require 'json-schema/attribute'
+require 'json-schema/attributes/format'
 require 'json-schema/errors/uri_error'
 
 module JSON
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limit.rb 
new/lib/json-schema/attributes/limit.rb
--- old/lib/json-schema/attributes/limit.rb     2017-02-07 11:35:47.000000000 
+0100
+++ new/lib/json-schema/attributes/limit.rb     2018-10-14 08:18:57.000000000 
+0200
@@ -48,132 +48,5 @@
         raise NotImplementedError
       end
     end
-
-    class MinLengthAttribute < LimitAttribute
-      def self.acceptable_type
-        String
-      end
-
-      def self.limit_name
-        'minLength'
-      end
-
-      def self.error_message(schema)
-        "was not of a minimum string length of #{limit(schema)}"
-      end
-
-      def self.value(data)
-        data.length
-      end
-    end
-
-    class MaxLengthAttribute < MinLengthAttribute
-      def self.limit_name
-        'maxLength'
-      end
-
-      def self.error_message(schema)
-        "was not of a maximum string length of #{limit(schema)}"
-      end
-    end
-
-    class MinItemsAttribute < LimitAttribute
-      def self.acceptable_type
-        Array
-      end
-
-      def self.value(data)
-        data.length
-      end
-
-      def self.limit_name
-        'minItems'
-      end
-
-      def self.error_message(schema)
-        "did not contain a minimum number of items #{limit(schema)}"
-      end
-    end
-
-    class MaxItemsAttribute < MinItemsAttribute
-      def self.limit_name
-        'maxItems'
-      end
-
-      def self.error_message(schema)
-        "had more items than the allowed #{limit(schema)}"
-      end
-    end
-
-    class MinPropertiesAttribute < LimitAttribute
-      def self.acceptable_type
-        Hash
-      end
-
-      def self.value(data)
-        data.size
-      end
-
-      def self.limit_name
-        'minProperties'
-      end
-
-      def self.error_message(schema)
-        "did not contain a minimum number of properties #{limit(schema)}"
-      end
-    end
-
-    class MaxPropertiesAttribute < MinPropertiesAttribute
-      def self.limit_name
-        'maxProperties'
-      end
-
-      def self.error_message(schema)
-        "had more properties than the allowed #{limit(schema)}"
-      end
-    end
-
-    class NumericLimitAttribute < LimitAttribute
-      def self.acceptable_type
-        Numeric
-      end
-
-      def self.error_message(schema)
-        exclusivity = exclusive?(schema) ? 'exclusively' : 'inclusively'
-        format("did not have a %s value of %s, %s", limit_name, limit(schema), 
exclusivity)
-      end
-    end
-
-    class MaximumAttribute < NumericLimitAttribute
-      def self.limit_name
-        'maximum'
-      end
-
-      def self.exclusive?(schema)
-        schema['exclusiveMaximum']
-      end
-    end
-
-    class MaximumInclusiveAttribute < MaximumAttribute
-      def self.exclusive?(schema)
-        schema['maximumCanEqual'] == false
-      end
-    end
-
-    class MinimumAttribute < NumericLimitAttribute
-      def self.limit_name
-        'minimum'
-      end
-
-      def self.exclusive?(schema)
-        schema['exclusiveMinimum']
-      end
-    end
-
-    class MinimumInclusiveAttribute < MinimumAttribute
-      def self.exclusive?(schema)
-        schema['minimumCanEqual'] == false
-      end
-    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/items.rb 
new/lib/json-schema/attributes/limits/items.rb
--- old/lib/json-schema/attributes/limits/items.rb      1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/items.rb      2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limit'
+
+module JSON
+  class Schema
+    class ItemsLimitAttribute < LimitAttribute
+      def self.acceptable_type
+        Array
+      end
+
+      def self.value(data)
+        data.length
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/length.rb 
new/lib/json-schema/attributes/limits/length.rb
--- old/lib/json-schema/attributes/limits/length.rb     1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/length.rb     2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limit'
+
+module JSON
+  class Schema
+    class LengthLimitAttribute < LimitAttribute
+      def self.acceptable_type
+        String
+      end
+
+      def self.value(data)
+        data.length
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/max_items.rb 
new/lib/json-schema/attributes/limits/max_items.rb
--- old/lib/json-schema/attributes/limits/max_items.rb  1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/max_items.rb  2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/items'
+
+module JSON
+  class Schema
+    class MaxItemsAttribute < ItemsLimitAttribute
+      def self.limit_name
+        'maxItems'
+      end
+
+      def self.error_message(schema)
+        "had more items than the allowed #{limit(schema)}"
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/max_length.rb 
new/lib/json-schema/attributes/limits/max_length.rb
--- old/lib/json-schema/attributes/limits/max_length.rb 1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/max_length.rb 2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/length'
+
+module JSON
+  class Schema
+    class MaxLengthAttribute < LengthLimitAttribute
+      def self.limit_name
+        'maxLength'
+      end
+
+      def self.error_message(schema)
+        "was not of a maximum string length of #{limit(schema)}"
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/max_properties.rb 
new/lib/json-schema/attributes/limits/max_properties.rb
--- old/lib/json-schema/attributes/limits/max_properties.rb     1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/max_properties.rb     2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/properties'
+
+module JSON
+  class Schema
+    class MaxPropertiesAttribute < PropertiesLimitAttribute
+      def self.limit_name
+        'maxProperties'
+      end
+
+      def self.error_message(schema)
+        "had more properties than the allowed #{limit(schema)}"
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/maximum.rb 
new/lib/json-schema/attributes/limits/maximum.rb
--- old/lib/json-schema/attributes/limits/maximum.rb    1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/maximum.rb    2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/numeric'
+
+module JSON
+  class Schema
+    class MaximumAttribute < NumericLimitAttribute
+      def self.limit_name
+        'maximum'
+      end
+
+      def self.exclusive?(schema)
+        schema['exclusiveMaximum']
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/json-schema/attributes/limits/maximum_inclusive.rb 
new/lib/json-schema/attributes/limits/maximum_inclusive.rb
--- old/lib/json-schema/attributes/limits/maximum_inclusive.rb  1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/maximum_inclusive.rb  2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,11 @@
+require 'json-schema/attributes/limits/maximum'
+
+module JSON
+  class Schema
+    class MaximumInclusiveAttribute < MaximumAttribute
+      def self.exclusive?(schema)
+        schema['maximumCanEqual'] == false
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/min_items.rb 
new/lib/json-schema/attributes/limits/min_items.rb
--- old/lib/json-schema/attributes/limits/min_items.rb  1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/min_items.rb  2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/items'
+
+module JSON
+  class Schema
+    class MinItemsAttribute < ItemsLimitAttribute
+      def self.limit_name
+        'minItems'
+      end
+
+      def self.error_message(schema)
+        "did not contain a minimum number of items #{limit(schema)}"
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/min_length.rb 
new/lib/json-schema/attributes/limits/min_length.rb
--- old/lib/json-schema/attributes/limits/min_length.rb 1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/min_length.rb 2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/length'
+
+module JSON
+  class Schema
+    class MinLengthAttribute < LengthLimitAttribute
+      def self.limit_name
+        'minLength'
+      end
+
+      def self.error_message(schema)
+        "was not of a minimum string length of #{limit(schema)}"
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/min_properties.rb 
new/lib/json-schema/attributes/limits/min_properties.rb
--- old/lib/json-schema/attributes/limits/min_properties.rb     1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/min_properties.rb     2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/properties'
+
+module JSON
+  class Schema
+    class MinPropertiesAttribute < PropertiesLimitAttribute
+      def self.limit_name
+        'minProperties'
+      end
+
+      def self.error_message(schema)
+        "did not contain a minimum number of properties #{limit(schema)}"
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/minimum.rb 
new/lib/json-schema/attributes/limits/minimum.rb
--- old/lib/json-schema/attributes/limits/minimum.rb    1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/minimum.rb    2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limits/numeric'
+
+module JSON
+  class Schema
+    class MinimumAttribute < NumericLimitAttribute
+      def self.limit_name
+        'minimum'
+      end
+
+      def self.exclusive?(schema)
+        schema['exclusiveMinimum']
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/json-schema/attributes/limits/minimum_inclusive.rb 
new/lib/json-schema/attributes/limits/minimum_inclusive.rb
--- old/lib/json-schema/attributes/limits/minimum_inclusive.rb  1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/minimum_inclusive.rb  2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,11 @@
+require 'json-schema/attributes/limits/minimum'
+
+module JSON
+  class Schema
+    class MinimumInclusiveAttribute < MinimumAttribute
+      def self.exclusive?(schema)
+        schema['minimumCanEqual'] == false
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/numeric.rb 
new/lib/json-schema/attributes/limits/numeric.rb
--- old/lib/json-schema/attributes/limits/numeric.rb    1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/numeric.rb    2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,16 @@
+require 'json-schema/attributes/limit'
+
+module JSON
+  class Schema
+    class NumericLimitAttribute < LimitAttribute
+      def self.acceptable_type
+        Numeric
+      end
+
+      def self.error_message(schema)
+        exclusivity = exclusive?(schema) ? 'exclusively' : 'inclusively'
+        format("did not have a %s value of %s, %s", limit_name, limit(schema), 
exclusivity)
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/limits/properties.rb 
new/lib/json-schema/attributes/limits/properties.rb
--- old/lib/json-schema/attributes/limits/properties.rb 1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/limits/properties.rb 2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,15 @@
+require 'json-schema/attributes/limit'
+
+module JSON
+  class Schema
+    class PropertiesLimitAttribute < LimitAttribute
+      def self.acceptable_type
+        Hash
+      end
+
+      def self.value(data)
+        data.size
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/properties.rb 
new/lib/json-schema/attributes/properties.rb
--- old/lib/json-schema/attributes/properties.rb        2017-02-07 
11:35:47.000000000 +0100
+++ new/lib/json-schema/attributes/properties.rb        2018-10-14 
08:18:57.000000000 +0200
@@ -62,13 +62,5 @@
         end
       end
     end
-
-    class PropertiesV4Attribute < PropertiesAttribute
-      # draft4 relies on its own RequiredAttribute validation at a higher 
level, rather than
-      # as an attribute of individual properties.
-      def self.required?(schema, options)
-        options[:strict] == true
-      end
-    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/attributes/properties_v4.rb 
new/lib/json-schema/attributes/properties_v4.rb
--- old/lib/json-schema/attributes/properties_v4.rb     1970-01-01 
01:00:00.000000000 +0100
+++ new/lib/json-schema/attributes/properties_v4.rb     2018-10-14 
08:18:57.000000000 +0200
@@ -0,0 +1,13 @@
+require 'json-schema/attributes/properties'
+
+module JSON
+  class Schema
+    class PropertiesV4Attribute < PropertiesAttribute
+      # draft4 relies on its own RequiredAttribute validation at a higher 
level, rather than
+      # as an attribute of individual properties.
+      def self.required?(schema, options)
+        options[:strict] == true
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/validator.rb 
new/lib/json-schema/validator.rb
--- old/lib/json-schema/validator.rb    2017-02-07 11:35:47.000000000 +0100
+++ new/lib/json-schema/validator.rb    2018-10-14 08:18:57.000000000 +0200
@@ -103,6 +103,8 @@
 
       if @options[:list]
         base_schema.to_array_schema
+      elsif base_schema.is_a?(Hash)
+        JSON::Schema.new(base_schema, schema_uri, @options[:version])
       else
         base_schema
       end
@@ -578,7 +580,7 @@
             begin
               json_uri = Util::URI.normalized_uri(data)
               data = self.class.parse(custom_open(json_uri))
-            rescue JSON::Schema::JsonLoadError
+            rescue JSON::Schema::JsonLoadError, JSON::Schema::UriError
               # Silently discard the error - use the data as-is
             end
           end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema/validators/draft6.rb 
new/lib/json-schema/validators/draft6.rb
--- old/lib/json-schema/validators/draft6.rb    2017-02-07 11:35:47.000000000 
+0100
+++ new/lib/json-schema/validators/draft6.rb    2018-10-14 08:18:57.000000000 
+0200
@@ -43,8 +43,8 @@
           'uri' => UriFormat
         }
         @formats = @default_formats.clone
-        @uri = JSON::Util::URI.parse("http://json-schema.org/draft-06/schema#";)
-        @names = ["draft6", "http://json-schema.org/draft-06/schema#";]
+        @uri = JSON::Util::URI.parse("http://json-schema.org/draft/schema#";)
+        @names = ["draft6", "http://json-schema.org/draft/schema#";]
         @metaschema_name = "draft-06.json"
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/json-schema.rb new/lib/json-schema.rb
--- old/lib/json-schema.rb      2017-02-07 11:35:47.000000000 +0100
+++ new/lib/json-schema.rb      2018-10-14 08:18:57.000000000 +0200
@@ -14,6 +14,5 @@
 require 'json-schema/schema/reader'
 require 'json-schema/validator'
 
-Dir[File.join(File.dirname(__FILE__), "json-schema/attributes/*.rb")].each 
{|file| require file }
-Dir[File.join(File.dirname(__FILE__), 
"json-schema/attributes/formats/*.rb")].each {|file| require file }
+Dir[File.join(File.dirname(__FILE__), "json-schema/attributes/**/*.rb")].each 
{|file| require file }
 Dir[File.join(File.dirname(__FILE__), 
"json-schema/validators/*.rb")].sort!.each {|file| require file }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2017-02-07 11:35:47.000000000 +0100
+++ new/metadata        2018-10-14 08:18:57.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: json-schema
 version: !ruby/object:Gem::Version
-  version: 2.8.0
+  version: 2.8.1
 platform: ruby
 authors:
 - Kenny Hoxworth
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2017-02-07 00:00:00.000000000 Z
+date: 2018-10-14 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rake
@@ -97,6 +97,7 @@
 - lib/json-schema/attributes/allof.rb
 - lib/json-schema/attributes/anyof.rb
 - lib/json-schema/attributes/dependencies.rb
+- lib/json-schema/attributes/dependencies_v4.rb
 - lib/json-schema/attributes/disallow.rb
 - lib/json-schema/attributes/divisibleby.rb
 - lib/json-schema/attributes/enum.rb
@@ -111,6 +112,20 @@
 - lib/json-schema/attributes/formats/uri.rb
 - lib/json-schema/attributes/items.rb
 - lib/json-schema/attributes/limit.rb
+- lib/json-schema/attributes/limits/items.rb
+- lib/json-schema/attributes/limits/length.rb
+- lib/json-schema/attributes/limits/max_items.rb
+- lib/json-schema/attributes/limits/max_length.rb
+- lib/json-schema/attributes/limits/max_properties.rb
+- lib/json-schema/attributes/limits/maximum.rb
+- lib/json-schema/attributes/limits/maximum_inclusive.rb
+- lib/json-schema/attributes/limits/min_items.rb
+- lib/json-schema/attributes/limits/min_length.rb
+- lib/json-schema/attributes/limits/min_properties.rb
+- lib/json-schema/attributes/limits/minimum.rb
+- lib/json-schema/attributes/limits/minimum_inclusive.rb
+- lib/json-schema/attributes/limits/numeric.rb
+- lib/json-schema/attributes/limits/properties.rb
 - lib/json-schema/attributes/maxdecimal.rb
 - lib/json-schema/attributes/multipleof.rb
 - lib/json-schema/attributes/not.rb
@@ -119,6 +134,7 @@
 - lib/json-schema/attributes/patternproperties.rb
 - lib/json-schema/attributes/properties.rb
 - lib/json-schema/attributes/properties_optional.rb
+- lib/json-schema/attributes/properties_v4.rb
 - lib/json-schema/attributes/ref.rb
 - lib/json-schema/attributes/required.rb
 - lib/json-schema/attributes/type.rb
@@ -173,7 +189,7 @@
       version: '1.8'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.6.8
+rubygems_version: 2.7.6
 signing_key: 
 specification_version: 4
 summary: Ruby JSON Schema Validator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resources/draft-06.json new/resources/draft-06.json
--- old/resources/draft-06.json 2017-02-07 11:35:47.000000000 +0100
+++ new/resources/draft-06.json 2018-10-14 08:18:57.000000000 +0200
@@ -1,7 +1,7 @@
 {
-    "id": "http://json-schema.org/draft-06/schema#";,
-    "$schema": "http://json-schema.org/draft-06/schema#";,
-    "description": "Core schema meta-schema",
+    "$schema": "http://json-schema.org/draft/schema#";,
+    "$id": "http://json-schema.org/draft/schema#";,
+    "title": "Core schema meta-schema",
     "definitions": {
         "schemaArray": {
             "type": "array",
@@ -13,28 +13,43 @@
             "minimum": 0
         },
         "positiveIntegerDefault0": {
-            "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { 
"default": 0 } ]
+            "allOf": [
+                { "$ref": "#/definitions/positiveInteger" },
+                { "default": 0 }
+            ]
         },
         "simpleTypes": {
-            "enum": [ "array", "boolean", "integer", "null", "number", 
"object", "string" ]
+            "enum": [
+                "array",
+                "boolean",
+                "integer",
+                "null",
+                "number",
+                "object",
+                "string"
+            ]
         },
         "stringArray": {
             "type": "array",
             "items": { "type": "string" },
-            "minItems": 1,
-            "uniqueItems": true
+            "uniqueItems": true,
+            "defaultItems": []
         }
     },
-    "type": "object",
+    "type": ["object", "boolean"],
     "properties": {
-        "id": {
+        "$id": {
             "type": "string",
-            "format": "uri"
+            "format": "uri-reference"
         },
         "$schema": {
             "type": "string",
             "format": "uri"
         },
+        "$ref": {
+            "type": "string",
+            "format": "uri-reference"
+        },
         "title": {
             "type": "string"
         },
@@ -44,22 +59,19 @@
         "default": {},
         "multipleOf": {
             "type": "number",
-            "minimum": 0,
-            "exclusiveMinimum": true
+            "exclusiveMinimum": 0
         },
         "maximum": {
             "type": "number"
         },
         "exclusiveMaximum": {
-            "type": "boolean",
-            "default": false
+            "type": "number"
         },
         "minimum": {
             "type": "number"
         },
         "exclusiveMinimum": {
-            "type": "boolean",
-            "default": false
+            "type": "number"
         },
         "maxLength": { "$ref": "#/definitions/positiveInteger" },
         "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" },
@@ -67,13 +79,7 @@
             "type": "string",
             "format": "regex"
         },
-        "additionalItems": {
-            "anyOf": [
-                { "type": "boolean" },
-                { "$ref": "#" }
-            ],
-            "default": {}
-        },
+        "additionalItems": { "$ref": "#" },
         "items": {
             "anyOf": [
                 { "$ref": "#" },
@@ -87,16 +93,11 @@
             "type": "boolean",
             "default": false
         },
+        "contains": { "$ref": "#" },
         "maxProperties": { "$ref": "#/definitions/positiveInteger" },
         "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" },
         "required": { "$ref": "#/definitions/stringArray" },
-        "additionalProperties": {
-            "anyOf": [
-                { "type": "boolean" },
-                { "$ref": "#" }
-            ],
-            "default": {}
-        },
+        "additionalProperties": { "$ref": "#" },
         "definitions": {
             "type": "object",
             "additionalProperties": { "$ref": "#" },
@@ -121,6 +122,8 @@
                 ]
             }
         },
+        "propertyNames": { "$ref": "#" },
+        "const": {},
         "enum": {
             "type": "array",
             "minItems": 1,
@@ -137,14 +140,11 @@
                 }
             ]
         },
+        "format": { "type": "string" },
         "allOf": { "$ref": "#/definitions/schemaArray" },
         "anyOf": { "$ref": "#/definitions/schemaArray" },
         "oneOf": { "$ref": "#/definitions/schemaArray" },
         "not": { "$ref": "#" }
     },
-    "dependencies": {
-        "exclusiveMaximum": [ "maximum" ],
-        "exclusiveMinimum": [ "minimum" ]
-    },
     "default": {}
 }


Reply via email to