json_schemer 1.0.3 → 2.0.0

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -6
  3. data/CHANGELOG.md +25 -0
  4. data/Gemfile.lock +1 -1
  5. data/README.md +137 -14
  6. data/json_schemer.gemspec +1 -1
  7. data/lib/json_schemer/draft201909/meta.rb +335 -0
  8. data/lib/json_schemer/draft201909/vocab/applicator.rb +104 -0
  9. data/lib/json_schemer/draft201909/vocab/core.rb +45 -0
  10. data/lib/json_schemer/draft201909/vocab.rb +31 -0
  11. data/lib/json_schemer/draft202012/meta.rb +361 -0
  12. data/lib/json_schemer/draft202012/vocab/applicator.rb +382 -0
  13. data/lib/json_schemer/draft202012/vocab/content.rb +44 -0
  14. data/lib/json_schemer/draft202012/vocab/core.rb +154 -0
  15. data/lib/json_schemer/draft202012/vocab/format_annotation.rb +31 -0
  16. data/lib/json_schemer/draft202012/vocab/format_assertion.rb +29 -0
  17. data/lib/json_schemer/draft202012/vocab/meta_data.rb +30 -0
  18. data/lib/json_schemer/draft202012/vocab/unevaluated.rb +94 -0
  19. data/lib/json_schemer/draft202012/vocab/validation.rb +286 -0
  20. data/lib/json_schemer/draft202012/vocab.rb +103 -0
  21. data/lib/json_schemer/draft4/meta.rb +155 -0
  22. data/lib/json_schemer/draft4/vocab/validation.rb +39 -0
  23. data/lib/json_schemer/draft4/vocab.rb +18 -0
  24. data/lib/json_schemer/draft6/meta.rb +161 -0
  25. data/lib/json_schemer/draft6/vocab.rb +16 -0
  26. data/lib/json_schemer/draft7/meta.rb +178 -0
  27. data/lib/json_schemer/draft7/vocab/validation.rb +69 -0
  28. data/lib/json_schemer/draft7/vocab.rb +30 -0
  29. data/lib/json_schemer/errors.rb +1 -0
  30. data/lib/json_schemer/format/duration.rb +23 -0
  31. data/lib/json_schemer/format/json_pointer.rb +18 -0
  32. data/lib/json_schemer/format.rb +52 -26
  33. data/lib/json_schemer/keyword.rb +41 -0
  34. data/lib/json_schemer/location.rb +25 -0
  35. data/lib/json_schemer/openapi.rb +40 -0
  36. data/lib/json_schemer/openapi30/document.rb +1673 -0
  37. data/lib/json_schemer/openapi30/meta.rb +26 -0
  38. data/lib/json_schemer/openapi30/vocab/base.rb +18 -0
  39. data/lib/json_schemer/openapi30/vocab.rb +12 -0
  40. data/lib/json_schemer/openapi31/document.rb +1559 -0
  41. data/lib/json_schemer/openapi31/meta.rb +128 -0
  42. data/lib/json_schemer/openapi31/vocab/base.rb +89 -0
  43. data/lib/json_schemer/openapi31/vocab.rb +18 -0
  44. data/lib/json_schemer/output.rb +55 -0
  45. data/lib/json_schemer/result.rb +168 -0
  46. data/lib/json_schemer/schema.rb +390 -0
  47. data/lib/json_schemer/version.rb +1 -1
  48. data/lib/json_schemer.rb +197 -24
  49. metadata +42 -10
  50. data/lib/json_schemer/schema/base.rb +0 -677
  51. data/lib/json_schemer/schema/draft4.json +0 -149
  52. data/lib/json_schemer/schema/draft4.rb +0 -44
  53. data/lib/json_schemer/schema/draft6.json +0 -155
  54. data/lib/json_schemer/schema/draft6.rb +0 -25
  55. data/lib/json_schemer/schema/draft7.json +0 -172
  56. data/lib/json_schemer/schema/draft7.rb +0 -32
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_schemer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Harsha
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-14 00:00:00.000000000 Z
11
+ date: 2023-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -132,19 +132,50 @@ files:
132
132
  - json_schemer.gemspec
133
133
  - lib/json_schemer.rb
134
134
  - lib/json_schemer/cached_resolver.rb
135
+ - lib/json_schemer/draft201909/meta.rb
136
+ - lib/json_schemer/draft201909/vocab.rb
137
+ - lib/json_schemer/draft201909/vocab/applicator.rb
138
+ - lib/json_schemer/draft201909/vocab/core.rb
139
+ - lib/json_schemer/draft202012/meta.rb
140
+ - lib/json_schemer/draft202012/vocab.rb
141
+ - lib/json_schemer/draft202012/vocab/applicator.rb
142
+ - lib/json_schemer/draft202012/vocab/content.rb
143
+ - lib/json_schemer/draft202012/vocab/core.rb
144
+ - lib/json_schemer/draft202012/vocab/format_annotation.rb
145
+ - lib/json_schemer/draft202012/vocab/format_assertion.rb
146
+ - lib/json_schemer/draft202012/vocab/meta_data.rb
147
+ - lib/json_schemer/draft202012/vocab/unevaluated.rb
148
+ - lib/json_schemer/draft202012/vocab/validation.rb
149
+ - lib/json_schemer/draft4/meta.rb
150
+ - lib/json_schemer/draft4/vocab.rb
151
+ - lib/json_schemer/draft4/vocab/validation.rb
152
+ - lib/json_schemer/draft6/meta.rb
153
+ - lib/json_schemer/draft6/vocab.rb
154
+ - lib/json_schemer/draft7/meta.rb
155
+ - lib/json_schemer/draft7/vocab.rb
156
+ - lib/json_schemer/draft7/vocab/validation.rb
135
157
  - lib/json_schemer/ecma_regexp.rb
136
158
  - lib/json_schemer/errors.rb
137
159
  - lib/json_schemer/format.rb
160
+ - lib/json_schemer/format/duration.rb
138
161
  - lib/json_schemer/format/email.rb
139
162
  - lib/json_schemer/format/hostname.rb
163
+ - lib/json_schemer/format/json_pointer.rb
140
164
  - lib/json_schemer/format/uri_template.rb
141
- - lib/json_schemer/schema/base.rb
142
- - lib/json_schemer/schema/draft4.json
143
- - lib/json_schemer/schema/draft4.rb
144
- - lib/json_schemer/schema/draft6.json
145
- - lib/json_schemer/schema/draft6.rb
146
- - lib/json_schemer/schema/draft7.json
147
- - lib/json_schemer/schema/draft7.rb
165
+ - lib/json_schemer/keyword.rb
166
+ - lib/json_schemer/location.rb
167
+ - lib/json_schemer/openapi.rb
168
+ - lib/json_schemer/openapi30/document.rb
169
+ - lib/json_schemer/openapi30/meta.rb
170
+ - lib/json_schemer/openapi30/vocab.rb
171
+ - lib/json_schemer/openapi30/vocab/base.rb
172
+ - lib/json_schemer/openapi31/document.rb
173
+ - lib/json_schemer/openapi31/meta.rb
174
+ - lib/json_schemer/openapi31/vocab.rb
175
+ - lib/json_schemer/openapi31/vocab/base.rb
176
+ - lib/json_schemer/output.rb
177
+ - lib/json_schemer/result.rb
178
+ - lib/json_schemer/schema.rb
148
179
  - lib/json_schemer/version.rb
149
180
  homepage: https://github.com/davishmcclurg/json_schemer
150
181
  licenses:
@@ -168,5 +199,6 @@ requirements: []
168
199
  rubygems_version: 3.4.10
169
200
  signing_key:
170
201
  specification_version: 4
171
- summary: JSON Schema validator. Supports drafts 4, 6, and 7.
202
+ summary: JSON Schema validator. Supports drafts 4, 6, 7, 2019-09, 2020-12, OpenAPI
203
+ 3.0, and OpenAPI 3.1.
172
204
  test_files: []