committee 3.3.0 → 5.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/committee/drivers/open_api_2/driver.rb +1 -2
  3. data/lib/committee/drivers/open_api_2/parameter_schema_builder.rb +1 -1
  4. data/lib/committee/drivers.rb +22 -10
  5. data/lib/committee/errors.rb +12 -0
  6. data/lib/committee/middleware/base.rb +5 -4
  7. data/lib/committee/middleware/request_validation.rb +4 -18
  8. data/lib/committee/middleware/response_validation.rb +15 -16
  9. data/lib/committee/request_unpacker.rb +46 -60
  10. data/lib/committee/schema_validator/hyper_schema/response_validator.rb +8 -2
  11. data/lib/committee/schema_validator/hyper_schema.rb +41 -27
  12. data/lib/committee/schema_validator/open_api_3/operation_wrapper.rb +44 -37
  13. data/lib/committee/schema_validator/open_api_3/request_validator.rb +11 -2
  14. data/lib/committee/schema_validator/open_api_3/router.rb +3 -1
  15. data/lib/committee/schema_validator/open_api_3.rb +52 -26
  16. data/lib/committee/schema_validator/option.rb +14 -3
  17. data/lib/committee/schema_validator.rb +1 -1
  18. data/lib/committee/test/methods.rb +27 -16
  19. data/lib/committee/test/schema_coverage.rb +101 -0
  20. data/lib/committee/utils.rb +28 -0
  21. data/lib/committee/validation_error.rb +3 -2
  22. data/lib/committee/version.rb +5 -0
  23. data/lib/committee.rb +11 -4
  24. data/test/bin/committee_stub_test.rb +5 -1
  25. data/test/committee_test.rb +29 -3
  26. data/test/drivers/open_api_3/driver_test.rb +1 -1
  27. data/test/drivers_test.rb +20 -7
  28. data/test/middleware/base_test.rb +9 -10
  29. data/test/middleware/request_validation_open_api_3_test.rb +175 -18
  30. data/test/middleware/request_validation_test.rb +20 -28
  31. data/test/middleware/response_validation_open_api_3_test.rb +96 -7
  32. data/test/middleware/response_validation_test.rb +21 -26
  33. data/test/middleware/stub_test.rb +4 -0
  34. data/test/request_unpacker_test.rb +51 -110
  35. data/test/schema_validator/hyper_schema/response_validator_test.rb +10 -0
  36. data/test/schema_validator/hyper_schema/router_test.rb +4 -0
  37. data/test/schema_validator/hyper_schema/string_params_coercer_test.rb +1 -1
  38. data/test/schema_validator/open_api_3/operation_wrapper_test.rb +72 -20
  39. data/test/schema_validator/open_api_3/request_validator_test.rb +27 -0
  40. data/test/schema_validator/open_api_3/response_validator_test.rb +26 -5
  41. data/test/test/methods_new_version_test.rb +17 -5
  42. data/test/test/methods_test.rb +155 -31
  43. data/test/test/schema_coverage_test.rb +216 -0
  44. data/test/test_helper.rb +34 -4
  45. metadata +47 -15
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: committee
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandur
8
8
  - geemus (Wesley Beary)
9
9
  - ota42y
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-11-15 00:00:00.000000000 Z
13
+ date: 2023-01-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json_schema
@@ -50,16 +50,16 @@ dependencies:
50
50
  name: openapi_parser
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ">="
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 0.6.1
55
+ version: '1.0'
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 0.6.1
62
+ version: '1.0'
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: minitest
65
65
  requirement: !ruby/object:Gem::Requirement
@@ -80,14 +80,14 @@ dependencies:
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '0.6'
83
+ version: '0.8'
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '0.6'
90
+ version: '0.8'
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rake
93
93
  requirement: !ruby/object:Gem::Requirement
@@ -146,6 +146,20 @@ dependencies:
146
146
  version: '0'
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: rubocop
149
+ requirement: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "<"
152
+ - !ruby/object:Gem::Version
153
+ version: 1.13.0
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "<"
159
+ - !ruby/object:Gem::Version
160
+ version: 1.13.0
161
+ - !ruby/object:Gem::Dependency
162
+ name: rubocop-performance
149
163
  requirement: !ruby/object:Gem::Requirement
150
164
  requirements:
151
165
  - - ">="
@@ -159,7 +173,21 @@ dependencies:
159
173
  - !ruby/object:Gem::Version
160
174
  version: '0'
161
175
  - !ruby/object:Gem::Dependency
162
- name: rubocop-performance
176
+ name: rubocop-minitest
177
+ requirement: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ - !ruby/object:Gem::Dependency
190
+ name: rubocop-rake
163
191
  requirement: !ruby/object:Gem::Requirement
164
192
  requirements:
165
193
  - - ">="
@@ -186,7 +214,7 @@ dependencies:
186
214
  - - ">="
187
215
  - !ruby/object:Gem::Version
188
216
  version: '0'
189
- description:
217
+ description:
190
218
  email:
191
219
  - brandur@mutelight.org
192
220
  - geemus+github@gmail.com
@@ -238,7 +266,10 @@ files:
238
266
  - lib/committee/schema_validator/open_api_3/router.rb
239
267
  - lib/committee/schema_validator/option.rb
240
268
  - lib/committee/test/methods.rb
269
+ - lib/committee/test/schema_coverage.rb
270
+ - lib/committee/utils.rb
241
271
  - lib/committee/validation_error.rb
272
+ - lib/committee/version.rb
242
273
  - test/bin/committee_stub_test.rb
243
274
  - test/bin_test.rb
244
275
  - test/committee_test.rb
@@ -268,13 +299,14 @@ files:
268
299
  - test/schema_validator/open_api_3/response_validator_test.rb
269
300
  - test/test/methods_new_version_test.rb
270
301
  - test/test/methods_test.rb
302
+ - test/test/schema_coverage_test.rb
271
303
  - test/test_helper.rb
272
304
  - test/validation_error_test.rb
273
305
  homepage: https://github.com/interagent/committee
274
306
  licenses:
275
307
  - MIT
276
308
  metadata: {}
277
- post_install_message:
309
+ post_install_message:
278
310
  rdoc_options: []
279
311
  require_paths:
280
312
  - lib
@@ -282,15 +314,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
282
314
  requirements:
283
315
  - - ">="
284
316
  - !ruby/object:Gem::Version
285
- version: 2.3.0
317
+ version: 2.6.0
286
318
  required_rubygems_version: !ruby/object:Gem::Requirement
287
319
  requirements:
288
320
  - - ">="
289
321
  - !ruby/object:Gem::Version
290
322
  version: '0'
291
323
  requirements: []
292
- rubygems_version: 3.0.3
293
- signing_key:
324
+ rubygems_version: 3.3.3
325
+ signing_key:
294
326
  specification_version: 4
295
327
  summary: A collection of Rack middleware to support JSON Schema.
296
328
  test_files: []