json_schemer 0.2.18 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.github/workflows/ci.yml +3 -7
 - data/CHANGELOG.md +69 -0
 - data/Gemfile.lock +28 -10
 - data/README.md +379 -4
 - data/bin/hostname_character_classes +42 -0
 - data/bin/rake +29 -0
 - data/exe/json_schemer +62 -0
 - data/json_schemer.gemspec +6 -12
 - data/lib/json_schemer/cached_resolver.rb +16 -0
 - data/lib/json_schemer/content.rb +18 -0
 - data/lib/json_schemer/draft201909/meta.rb +320 -0
 - data/lib/json_schemer/draft201909/vocab/applicator.rb +104 -0
 - data/lib/json_schemer/draft201909/vocab/core.rb +45 -0
 - data/lib/json_schemer/draft201909/vocab.rb +31 -0
 - data/lib/json_schemer/draft202012/meta.rb +364 -0
 - data/lib/json_schemer/draft202012/vocab/applicator.rb +382 -0
 - data/lib/json_schemer/draft202012/vocab/content.rb +52 -0
 - data/lib/json_schemer/draft202012/vocab/core.rb +160 -0
 - data/lib/json_schemer/draft202012/vocab/format_annotation.rb +23 -0
 - data/lib/json_schemer/draft202012/vocab/format_assertion.rb +23 -0
 - data/lib/json_schemer/draft202012/vocab/meta_data.rb +30 -0
 - data/lib/json_schemer/draft202012/vocab/unevaluated.rb +94 -0
 - data/lib/json_schemer/draft202012/vocab/validation.rb +286 -0
 - data/lib/json_schemer/draft202012/vocab.rb +105 -0
 - data/lib/json_schemer/draft4/meta.rb +161 -0
 - data/lib/json_schemer/draft4/vocab/validation.rb +39 -0
 - data/lib/json_schemer/draft4/vocab.rb +18 -0
 - data/lib/json_schemer/draft6/meta.rb +172 -0
 - data/lib/json_schemer/draft6/vocab.rb +16 -0
 - data/lib/json_schemer/draft7/meta.rb +183 -0
 - data/lib/json_schemer/draft7/vocab/validation.rb +69 -0
 - data/lib/json_schemer/draft7/vocab.rb +30 -0
 - data/lib/json_schemer/ecma_regexp.rb +51 -0
 - data/lib/json_schemer/errors.rb +1 -0
 - data/lib/json_schemer/format/duration.rb +23 -0
 - data/lib/json_schemer/format/email.rb +56 -0
 - data/lib/json_schemer/format/hostname.rb +58 -0
 - data/lib/json_schemer/format/json_pointer.rb +18 -0
 - data/lib/json_schemer/format/uri_template.rb +34 -0
 - data/lib/json_schemer/format.rb +129 -109
 - data/lib/json_schemer/keyword.rb +53 -0
 - data/lib/json_schemer/location.rb +25 -0
 - data/lib/json_schemer/openapi.rb +40 -0
 - data/lib/json_schemer/openapi30/document.rb +1672 -0
 - data/lib/json_schemer/openapi30/meta.rb +32 -0
 - data/lib/json_schemer/openapi30/vocab/base.rb +18 -0
 - data/lib/json_schemer/openapi30/vocab.rb +12 -0
 - data/lib/json_schemer/openapi31/document.rb +1557 -0
 - data/lib/json_schemer/openapi31/meta.rb +136 -0
 - data/lib/json_schemer/openapi31/vocab/base.rb +127 -0
 - data/lib/json_schemer/openapi31/vocab.rb +18 -0
 - data/lib/json_schemer/output.rb +56 -0
 - data/lib/json_schemer/result.rb +229 -0
 - data/lib/json_schemer/schema.rb +423 -0
 - data/lib/json_schemer/version.rb +1 -1
 - data/lib/json_schemer.rb +218 -28
 - metadata +98 -25
 - data/lib/json_schemer/cached_ref_resolver.rb +0 -14
 - data/lib/json_schemer/schema/base.rb +0 -658
 - data/lib/json_schemer/schema/draft4.rb +0 -44
 - data/lib/json_schemer/schema/draft6.rb +0 -25
 - data/lib/json_schemer/schema/draft7.rb +0 -32
 
| 
         @@ -1,25 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
            module JSONSchemer
         
     | 
| 
       3 
     | 
    
         
            -
              module Schema
         
     | 
| 
       4 
     | 
    
         
            -
                class Draft6 < Base
         
     | 
| 
       5 
     | 
    
         
            -
                  SUPPORTED_FORMATS = Set[
         
     | 
| 
       6 
     | 
    
         
            -
                    'date-time',
         
     | 
| 
       7 
     | 
    
         
            -
                    'email',
         
     | 
| 
       8 
     | 
    
         
            -
                    'hostname',
         
     | 
| 
       9 
     | 
    
         
            -
                    'ipv4',
         
     | 
| 
       10 
     | 
    
         
            -
                    'ipv6',
         
     | 
| 
       11 
     | 
    
         
            -
                    'uri',
         
     | 
| 
       12 
     | 
    
         
            -
                    'uri-reference',
         
     | 
| 
       13 
     | 
    
         
            -
                    'uri-template',
         
     | 
| 
       14 
     | 
    
         
            -
                    'json-pointer',
         
     | 
| 
       15 
     | 
    
         
            -
                    'regex'
         
     | 
| 
       16 
     | 
    
         
            -
                  ].freeze
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                private
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                  def supported_format?(format)
         
     | 
| 
       21 
     | 
    
         
            -
                    SUPPORTED_FORMATS.include?(format)
         
     | 
| 
       22 
     | 
    
         
            -
                  end
         
     | 
| 
       23 
     | 
    
         
            -
                end
         
     | 
| 
       24 
     | 
    
         
            -
              end
         
     | 
| 
       25 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,32 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
            module JSONSchemer
         
     | 
| 
       3 
     | 
    
         
            -
              module Schema
         
     | 
| 
       4 
     | 
    
         
            -
                class Draft7 < Base
         
     | 
| 
       5 
     | 
    
         
            -
                  SUPPORTED_FORMATS = Set[
         
     | 
| 
       6 
     | 
    
         
            -
                    'date-time',
         
     | 
| 
       7 
     | 
    
         
            -
                    'date',
         
     | 
| 
       8 
     | 
    
         
            -
                    'time',
         
     | 
| 
       9 
     | 
    
         
            -
                    'email',
         
     | 
| 
       10 
     | 
    
         
            -
                    'idn-email',
         
     | 
| 
       11 
     | 
    
         
            -
                    'hostname',
         
     | 
| 
       12 
     | 
    
         
            -
                    'idn-hostname',
         
     | 
| 
       13 
     | 
    
         
            -
                    'ipv4',
         
     | 
| 
       14 
     | 
    
         
            -
                    'ipv6',
         
     | 
| 
       15 
     | 
    
         
            -
                    'uri',
         
     | 
| 
       16 
     | 
    
         
            -
                    'uri-reference',
         
     | 
| 
       17 
     | 
    
         
            -
                    'iri',
         
     | 
| 
       18 
     | 
    
         
            -
                    'iri-reference',
         
     | 
| 
       19 
     | 
    
         
            -
                    'uri-template',
         
     | 
| 
       20 
     | 
    
         
            -
                    'json-pointer',
         
     | 
| 
       21 
     | 
    
         
            -
                    'relative-json-pointer',
         
     | 
| 
       22 
     | 
    
         
            -
                    'regex'
         
     | 
| 
       23 
     | 
    
         
            -
                  ].freeze
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                private
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                  def supported_format?(format)
         
     | 
| 
       28 
     | 
    
         
            -
                    SUPPORTED_FORMATS.include?(format)
         
     | 
| 
       29 
     | 
    
         
            -
                  end
         
     | 
| 
       30 
     | 
    
         
            -
                end
         
     | 
| 
       31 
     | 
    
         
            -
              end
         
     | 
| 
       32 
     | 
    
         
            -
            end
         
     |