openapi_first 1.1.1 → 1.3.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openapi_first/body_parser.rb +3 -1
  3. data/lib/openapi_first/configuration.rb +3 -1
  4. data/lib/openapi_first/definition/operation.rb +65 -5
  5. data/lib/openapi_first/definition/path_item.rb +1 -0
  6. data/lib/openapi_first/definition/request_body.rb +1 -0
  7. data/lib/openapi_first/definition/response.rb +7 -0
  8. data/lib/openapi_first/definition.rb +43 -3
  9. data/lib/openapi_first/error_response.rb +1 -1
  10. data/lib/openapi_first/errors.rb +6 -0
  11. data/lib/openapi_first/failure.rb +28 -4
  12. data/lib/openapi_first/middlewares/request_validation.rb +2 -5
  13. data/lib/openapi_first/middlewares/response_validation.rb +1 -4
  14. data/lib/openapi_first/plugins/default/error_response.rb +4 -4
  15. data/lib/openapi_first/plugins/default.rb +1 -1
  16. data/lib/openapi_first/plugins/jsonapi/error_response.rb +3 -2
  17. data/lib/openapi_first/plugins/jsonapi.rb +1 -1
  18. data/lib/openapi_first/plugins.rb +1 -0
  19. data/lib/openapi_first/request_validation/request_body_validator.rb +1 -1
  20. data/lib/openapi_first/request_validation/validator.rb +1 -0
  21. data/lib/openapi_first/response_validation/validator.rb +1 -0
  22. data/lib/openapi_first/runtime_request.rb +63 -3
  23. data/lib/openapi_first/runtime_response.rb +43 -4
  24. data/lib/openapi_first/schema/validation_error.rb +2 -0
  25. data/lib/openapi_first/schema/validation_result.rb +2 -7
  26. data/lib/openapi_first/schema.rb +1 -0
  27. data/lib/openapi_first/version.rb +1 -1
  28. data/lib/openapi_first.rb +21 -3
  29. metadata +6 -17
  30. data/.github/CODEOWNERS +0 -1
  31. data/.github/workflows/ruby.yml +0 -13
  32. data/.gitignore +0 -11
  33. data/CHANGELOG.md +0 -274
  34. data/Gemfile +0 -18
  35. data/Gemfile.lock +0 -170
  36. data/Gemfile.rack2 +0 -15
  37. data/Gemfile.rack2.lock +0 -99
  38. data/LICENSE.txt +0 -21
  39. data/README.md +0 -225
  40. data/openapi_first.gemspec +0 -47
data/CHANGELOG.md DELETED
@@ -1,274 +0,0 @@
1
- # Changelog
2
-
3
- ## 1.1.1
4
-
5
- - Fix reading response body for example when running Rails (`ActionDispatch::Response::RackBody`)
6
-
7
- ## 1.1.0
8
-
9
- - Add `known?`, `status`, `body`, `headers`, `content_type` methods to inspect the parsed response (`RuntimeResponse`)
10
- - Add `OpenapiFirst::ParseError` which is raised by low-level interfaces like `request.body` if the body could not be parsed.
11
- - Add "code" field to errors in JSON:API error response
12
-
13
- ## 1.0.0
14
-
15
- - Breaking: The default error uses application/problem+json content-type
16
- - Breaking: Moved rack middlewares to OpenapiFirst::Middlewares
17
- - Breaking: Rename OpenapiFirst::ResponseInvalid to OpenapiFirst::ResponseInvalidError
18
- - Breaking: Remove OpenapiFirst::Router
19
- - Breaking: Remove `env[OpenapiFirst::OPERATION]`. Use `env[OpenapiFirst::REQUEST]` instead.
20
- - Breaking: Remove `env[OpenapiFirst::REQUEST_BODY]`, `env[OpenapiFirst::PARAMS]`. Use `env[OpenapiFirst::REQUEST].body env[OpenapiFirst::REQUEST].params` instead.
21
- - Add interface to validate requests / responses without middlewares (see "Manual validation" in README)
22
- - Add OpenapiFirst.configure
23
- - Add OpenapiFirst.register, OpenapiFirst.plugin
24
- - Fix response header validation with Rack 3
25
- - Fixed: Add support for paths like `/{a}..{b}`
26
-
27
- ## 1.0.0.beta6
28
-
29
- - Fix: Make response header validation work with rack 3
30
- - Refactor router
31
- - Remove dependency hanami-router
32
- - PathItem and Operation for a request can be found by calling methods on the Definitnion
33
- - Fixed https://github.com/ahx/openapi_first/issues/155
34
- - Breaking / Regression: A paths like /pets/{from}-{to} if there is a path "/pets/{id}"
35
-
36
- ## 1.0.0.beta5
37
-
38
- - Added: `OpenapiFirst::Config.default_options=` to set default options globally
39
- - Added: You can define custom error responses by subclassing `OpenapiFirst::ErrorResponse` and register it via `OpenapiFirst.register_error_response(name, MyCustomErrorResponse)`
40
-
41
- ## 1.0.0.beta4
42
-
43
- - Update json_schemer to version 2.0
44
- - Breaking: Requires Ruby 3.1 or later
45
- - Added: Parameters are available at `env[OpenapiFirst::PATH_PARAMS]`, `env[OpenapiFirst::QUERY_PARAMS]`, `env[OpenapiFirst::HEADER_PARAMS]`, `env[OpenapiFirst::COOKIE_PARAMS]` in case you need to access them separately. Merged path and query parameters are still available at `env[OpenapiFirst::PARAMS]`
46
- - Breaking / Added: ResponseValidation now validates response headers
47
- - Breaking / Added: RequestValidation now validates cookie, path and header parameters
48
- - Breaking: multipart File uploads are now read and then validated
49
- - Breaking: Remove OpenapiFirst.env method
50
- - Breaking: Request validation returns 400 instead of 415 if request body is required, but empty
51
-
52
- ## 1.0.0.beta3
53
-
54
- - Remove obsolete dependency: deep_merge
55
- - Remove obsolete dependency: hanami-utils
56
-
57
- ## 1.0.0.beta2
58
-
59
- - Fixed dependencies. Remove unused code.
60
-
61
- ## 1.0.0.beta1
62
-
63
- - Removed: `OpenapiFirst::Responder` and `OpenapiFirst::RackResponder`
64
- - Removed: `OpenapiFirst.app` and `OpenapiFirst.middleware`
65
- - Removed: `OpenapiFirst::Coverage`
66
- - Breaking: Parsed query and path parameters are available at `env[OpenapiFirst::PARAMS]`(or `env['openapi.params']`) instead of `OpenapiFirst::PARAMETERS`.
67
- - Breaking: Request body and parameters now use string keys instead of symbols!
68
- - Breaking: Query parameters are now parsed exactly like in the API description via the openapi_parameters gem. This means a couple of things:
69
- - Query parameters now support `explode: true` (default) and `explode: false` for array and object parameters.
70
- - Query parameters with brackets like 'filter[tag]' are no longer deconstructed into nested hashes, but accessible via the `filter[tag]` key.
71
- - Query parameters are no longer interpreted as `style: deepObject` by default. If you want to use `style: deepObject`, for example to pass a nested hash as a query parameter like `filter[tag]`, you have to set `style: deepObject` explicitly.
72
- - Path parameters are now parsed exactly as in the API description via the openapi_parameters gem.
73
-
74
- ## 0.21.0
75
-
76
- - Fix: Query parameter validation does not fail if header parameters are defined (Thanks to [JF Lalonde](https://github.com/JF-Lalonde))
77
- - Update Ruby dependency to >= 3.0.5
78
- - Handle simple form-data in request bodies (see https://github.com/ahx/openapi_first/issues/149)
79
- - Update to hanami-router 2.0.0 stable
80
-
81
- ## 0.20.0
82
-
83
- - You can pass a filepath to `spec:` now so you no longer have to call `OpenapiFirst.load` anymore.
84
- - Router is optional now.
85
- You no longer have to add `Router` to your middleware stack. You still can add it to customize behaviour by setting options, but you no longer have to add it.
86
- If you don't add the Router, make sure you pass `spec:` to your request/response validation middleware.
87
- - Support "4xx" and "4XX" response definitions.
88
- (4XX is defined in the standard, but 2xx is used in the wild as well 🦁.)
89
- - Removed warning about missing operationId, because operationId is not used until the Responder is used.
90
- - Raise HandlerNotFoundError when handler cannot be found
91
-
92
- ## 0.19.0
93
-
94
- - Add `RackResponder`
95
-
96
- - BREAKING CHANGE: Handler classes are now instantiated only once without any arguments and the same instance is called on each following call/request.
97
-
98
- ## 0.18.0
99
-
100
- Yanked. No useful changes.
101
-
102
- ## 0.17.0
103
-
104
- - BREAKING CHANGE: Use a Hash instead of named arguments for middleware options for better compatibility
105
- Using named arguments is actually not supported in Rack.
106
-
107
- ## 0.16.1
108
-
109
- - Pin hanami-router version, because alpha6 is broken.
110
-
111
- ## 0.16.0
112
-
113
- - Support status code wildcards like "2XX", "4XX"
114
-
115
- ## 0.15.0
116
-
117
- - Populate default parameter values
118
-
119
- ## 0.14.3
120
-
121
- - Use json_refs to resolve OpenAPI file. This removes oas_parser and ActiveSupport from list of dependencies
122
-
123
- ## 0.14.2
124
-
125
- - Empty query parameters are parsed and request validation returns 400 if an empty string is not allowed. Note that this does not look at `allowEmptyValue` in any way, because allowEmptyValue is deprecated.
126
-
127
- ## 0.14.1
128
-
129
- - Fix: Don't mix path- and operation-level parameters for request validation
130
-
131
- ## 0.14.0
132
-
133
- - Handle custom x-handler field in the API description to find a handler method not based on operationId
134
- - Add `resolver` option to provide a custom resolver to find a handler method
135
-
136
- ## 0.13.3
137
-
138
- - Better error message if string does not match format
139
- - readOnly and writeOnly just works when used inside allOf
140
-
141
- ## 0.13.2
142
-
143
- - Return indicator (`source: { parameter: 'list/1' }`) in error response body when array item in query parameter is invalid
144
-
145
- ## 0.13.0
146
-
147
- - Add support for arrays in query parameters (style: form, explode: false)
148
- - Remove warning when handler is not implemented
149
-
150
- ## 0.12.5
151
-
152
- - Add `not_found: :continue` option to Router to make it do nothing if request is unknown
153
-
154
- ## 0.12.4
155
-
156
- - content-type is found while ignoring additional content-type parameters (`application/json` is found when request/response content-type is `application/json; charset=UTF8`)
157
- - Support wildcard mime-types when finding the content-type
158
-
159
- ## 0.12.3
160
-
161
- - Add `response_validation:`, `router_raise_error` options to standalone mode.
162
-
163
- ## 0.12.2
164
-
165
- - Allow response to have no media type object specified
166
-
167
- ## 0.12.1
168
-
169
- - Fix response when handler returns 404 or 405
170
- - Don't validate the response content if status is 204 (no content)
171
-
172
- ## 0.12.0
173
-
174
- - Change `ResponseValidator` to raise an exception if it found a problem
175
- - Params have symbolized keys now
176
- - Remove `not_found` option from Router. Return 405 if HTTP verb is not allowed (via Hanami::Router)
177
- - Add `raise_error` option to OpenapiFirst.app (false by default)
178
- - Add ResponseValidation to OpenapiFirst.app if raise_error option is true
179
- - Rename `raise` option to `raise_error`
180
- - Add `raise_error` option to RequestValidation middleware
181
- - Raise error if handler could not be found by Responder
182
- - Add `Operation#name` that returns a human readable name for an operation
183
-
184
- ## 0.11.0
185
-
186
- - Raise error if you forgot to add the Router middleware
187
- - Make OpenapiFirst.app raise an error in test env when request path is not specified
188
- - Rename OperationResolver to Responder
189
- - Add ResponseValidation middleware that validates the response body
190
- - Add `raise` option to Router middleware to raise an error if request could not be found in the API description similar to committee's raise option.
191
- - Move namespace option from Router to OperationResolver
192
-
193
- ## 0.10.2
194
-
195
- - Return 400 if request body has invalid JSON ([issue](https://github.com/ahx/openapi_first/issues/73)) thanks Thomas Frütel
196
-
197
- ## 0.10.1
198
-
199
- - Fix duplicated key in `required` when generating JSON schema for `some[thing]` parameters
200
-
201
- ## 0.10.0
202
-
203
- - Add support for query parameters named `"some[thing]"` ([issue](https://github.com/ahx/openapi_first/issues/40))
204
-
205
- ## 0.9.0
206
-
207
- - Make request validation usable standalone
208
-
209
- ## 0.8.0
210
-
211
- - Add merged parameter and request body available to env at `env[OpenapiFirst::INBOX]` in request validation
212
- - Path and query parameters with `type: boolean` now get converted to `true`/`false`
213
- - Rename `OpenapiFirst::PARAMS` to `OpenapiFirst::PARAMETERS`
214
-
215
- ## 0.7.1
216
-
217
- - Add missing `require` to work with new version of `oas_parser`
218
-
219
- ## 0.7.0
220
-
221
- - Make use of hanami-router, because it's fast
222
- - Remove option `allow_unknown_query_paramerters`
223
- - Move the namespace option to Router
224
- - Convert numeric path and query parameters to `Integer` or `Float`
225
- - Pass the Rack env if your action class' initializers accepts an argument
226
- - Respec rack's `env['SCRIPT_NAME']` in router
227
- - Add MIT license
228
-
229
- ## 0.6.10
230
-
231
- - Bugfix: params.env['unknown'] now returns `nil` as expected. Thanks @tristandruyen.
232
-
233
- ## 0.6.9
234
-
235
- - Removed radix tree, because of a bug (https://github.com/namusyaka/r2ree-ruby/issues/2)
236
-
237
- ## 0.6.8
238
-
239
- - Performance: About 25% performance increase (i/s) with help of c++ based radix-tree and some optimizations
240
- - Update dependencies
241
-
242
- ## 0.6.7
243
-
244
- - Fix: version number of oas_parser
245
-
246
- ## 0.6.6
247
-
248
- - Remove warnings for Ruby 2.7
249
-
250
- ## 0.6.5
251
-
252
- - Merge QueryParameterValidation and ReqestBodyValidation middlewares into RequestValidation
253
- - Rename option to `allow_unknown_query_paramerters`
254
-
255
- ## 0.6.4
256
-
257
- - Fix: Rewind request body after reading
258
-
259
- ## 0.6.3
260
-
261
- - Add option to parse only certain paths from OAS file
262
-
263
- ## 0.6.2
264
-
265
- - Add support to map operationIds like `things#index` or `web.things_index`
266
-
267
- ## 0.6.1
268
-
269
- - Make ResponseValidator errors easier to read
270
-
271
- ## 0.6.0
272
-
273
- - Set the content-type based on the OpenAPI description [#29](https://github.com/ahx/openapi-first/pull/29)
274
- - Add CHANGELOG 📝
data/Gemfile DELETED
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- gemspec
6
-
7
- gem 'rack', '>= 3.0.0'
8
- gem 'rackup'
9
-
10
- group :test, :development do
11
- gem 'actionpack'
12
- gem 'bundler'
13
- gem 'rack-test'
14
- gem 'rake'
15
- gem 'rspec'
16
- gem 'rubocop'
17
- gem 'simplecov'
18
- end
data/Gemfile.lock DELETED
@@ -1,170 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- openapi_first (1.1.1)
5
- json_refs (~> 0.1, >= 0.1.7)
6
- json_schemer (~> 2.1.0)
7
- multi_json (~> 1.15)
8
- mustermann-contrib (~> 3.0.0)
9
- openapi_parameters (>= 0.3.2, < 2.0)
10
- rack (>= 2.2, < 4.0)
11
-
12
- GEM
13
- remote: https://rubygems.org/
14
- specs:
15
- actionpack (7.1.2)
16
- actionview (= 7.1.2)
17
- activesupport (= 7.1.2)
18
- nokogiri (>= 1.8.5)
19
- racc
20
- rack (>= 2.2.4)
21
- rack-session (>= 1.0.1)
22
- rack-test (>= 0.6.3)
23
- rails-dom-testing (~> 2.2)
24
- rails-html-sanitizer (~> 1.6)
25
- actionview (7.1.2)
26
- activesupport (= 7.1.2)
27
- builder (~> 3.1)
28
- erubi (~> 1.11)
29
- rails-dom-testing (~> 2.2)
30
- rails-html-sanitizer (~> 1.6)
31
- activesupport (7.1.2)
32
- base64
33
- bigdecimal
34
- concurrent-ruby (~> 1.0, >= 1.0.2)
35
- connection_pool (>= 2.2.5)
36
- drb
37
- i18n (>= 1.6, < 2)
38
- minitest (>= 5.1)
39
- mutex_m
40
- tzinfo (~> 2.0)
41
- ast (2.4.2)
42
- base64 (0.2.0)
43
- bigdecimal (3.1.5)
44
- builder (3.2.4)
45
- concurrent-ruby (1.2.2)
46
- connection_pool (2.4.1)
47
- crass (1.0.6)
48
- diff-lcs (1.5.0)
49
- docile (1.4.0)
50
- drb (2.2.0)
51
- ruby2_keywords
52
- erubi (1.12.0)
53
- hana (1.3.7)
54
- hansi (0.2.1)
55
- i18n (1.14.1)
56
- concurrent-ruby (~> 1.0)
57
- json (2.7.1)
58
- json_refs (0.1.8)
59
- hana
60
- json_schemer (2.1.1)
61
- hana (~> 1.3)
62
- regexp_parser (~> 2.0)
63
- simpleidn (~> 0.2)
64
- language_server-protocol (3.17.0.3)
65
- loofah (2.22.0)
66
- crass (~> 1.0.2)
67
- nokogiri (>= 1.12.0)
68
- minitest (5.21.1)
69
- multi_json (1.15.0)
70
- mustermann (3.0.0)
71
- ruby2_keywords (~> 0.0.1)
72
- mustermann-contrib (3.0.0)
73
- hansi (~> 0.2.0)
74
- mustermann (= 3.0.0)
75
- mutex_m (0.2.0)
76
- nokogiri (1.16.0-arm64-darwin)
77
- racc (~> 1.4)
78
- nokogiri (1.16.0-x86_64-linux)
79
- racc (~> 1.4)
80
- openapi_parameters (0.3.2)
81
- rack (>= 2.2)
82
- zeitwerk (~> 2.6)
83
- parallel (1.24.0)
84
- parser (3.3.0.3)
85
- ast (~> 2.4.1)
86
- racc
87
- racc (1.7.3)
88
- rack (3.0.8)
89
- rack-session (2.0.0)
90
- rack (>= 3.0.0)
91
- rack-test (2.1.0)
92
- rack (>= 1.3)
93
- rackup (2.1.0)
94
- rack (>= 3)
95
- webrick (~> 1.8)
96
- rails-dom-testing (2.2.0)
97
- activesupport (>= 5.0.0)
98
- minitest
99
- nokogiri (>= 1.6)
100
- rails-html-sanitizer (1.6.0)
101
- loofah (~> 2.21)
102
- nokogiri (~> 1.14)
103
- rainbow (3.1.1)
104
- rake (13.1.0)
105
- regexp_parser (2.9.0)
106
- rexml (3.2.6)
107
- rspec (3.12.0)
108
- rspec-core (~> 3.12.0)
109
- rspec-expectations (~> 3.12.0)
110
- rspec-mocks (~> 3.12.0)
111
- rspec-core (3.12.2)
112
- rspec-support (~> 3.12.0)
113
- rspec-expectations (3.12.3)
114
- diff-lcs (>= 1.2.0, < 2.0)
115
- rspec-support (~> 3.12.0)
116
- rspec-mocks (3.12.6)
117
- diff-lcs (>= 1.2.0, < 2.0)
118
- rspec-support (~> 3.12.0)
119
- rspec-support (3.12.1)
120
- rubocop (1.59.0)
121
- json (~> 2.3)
122
- language_server-protocol (>= 3.17.0)
123
- parallel (~> 1.10)
124
- parser (>= 3.2.2.4)
125
- rainbow (>= 2.2.2, < 4.0)
126
- regexp_parser (>= 1.8, < 3.0)
127
- rexml (>= 3.2.5, < 4.0)
128
- rubocop-ast (>= 1.30.0, < 2.0)
129
- ruby-progressbar (~> 1.7)
130
- unicode-display_width (>= 2.4.0, < 3.0)
131
- rubocop-ast (1.30.0)
132
- parser (>= 3.2.1.0)
133
- ruby-progressbar (1.13.0)
134
- ruby2_keywords (0.0.5)
135
- simplecov (0.22.0)
136
- docile (~> 1.1)
137
- simplecov-html (~> 0.11)
138
- simplecov_json_formatter (~> 0.1)
139
- simplecov-html (0.12.3)
140
- simplecov_json_formatter (0.1.4)
141
- simpleidn (0.2.1)
142
- unf (~> 0.1.4)
143
- tzinfo (2.0.6)
144
- concurrent-ruby (~> 1.0)
145
- unf (0.1.4)
146
- unf_ext
147
- unf_ext (0.0.9.1)
148
- unicode-display_width (2.5.0)
149
- webrick (1.8.1)
150
- zeitwerk (2.6.12)
151
-
152
- PLATFORMS
153
- arm64-darwin-21
154
- arm64-darwin-22
155
- x86_64-linux
156
-
157
- DEPENDENCIES
158
- actionpack
159
- bundler
160
- openapi_first!
161
- rack (>= 3.0.0)
162
- rack-test
163
- rackup
164
- rake
165
- rspec
166
- rubocop
167
- simplecov
168
-
169
- BUNDLED WITH
170
- 2.3.10
data/Gemfile.rack2 DELETED
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- gemspec
6
-
7
- gem 'rack', '< 3.0.0'
8
-
9
- group :test, :development do
10
- gem 'bundler'
11
- gem 'rack-test'
12
- gem 'rake'
13
- gem 'rspec'
14
- gem 'rubocop'
15
- end
data/Gemfile.rack2.lock DELETED
@@ -1,99 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- openapi_first (1.0.0.beta6)
5
- json_refs (~> 0.1, >= 0.1.7)
6
- json_schemer (~> 2.1.0)
7
- multi_json (~> 1.15)
8
- mustermann-contrib (~> 3.0.0)
9
- openapi_parameters (>= 0.3.2, < 2.0)
10
- rack (>= 2.2, < 4.0)
11
-
12
- GEM
13
- remote: https://rubygems.org/
14
- specs:
15
- ast (2.4.2)
16
- diff-lcs (1.5.0)
17
- hana (1.3.7)
18
- hansi (0.2.1)
19
- json (2.7.1)
20
- json_refs (0.1.8)
21
- hana
22
- json_schemer (2.1.1)
23
- hana (~> 1.3)
24
- regexp_parser (~> 2.0)
25
- simpleidn (~> 0.2)
26
- language_server-protocol (3.17.0.3)
27
- multi_json (1.15.0)
28
- mustermann (3.0.0)
29
- ruby2_keywords (~> 0.0.1)
30
- mustermann-contrib (3.0.0)
31
- hansi (~> 0.2.0)
32
- mustermann (= 3.0.0)
33
- openapi_parameters (0.3.2)
34
- rack (>= 2.2)
35
- zeitwerk (~> 2.6)
36
- parallel (1.24.0)
37
- parser (3.2.2.4)
38
- ast (~> 2.4.1)
39
- racc
40
- racc (1.7.3)
41
- rack (2.2.8)
42
- rack-test (2.1.0)
43
- rack (>= 1.3)
44
- rainbow (3.1.1)
45
- rake (13.1.0)
46
- regexp_parser (2.8.3)
47
- rexml (3.2.6)
48
- rspec (3.12.0)
49
- rspec-core (~> 3.12.0)
50
- rspec-expectations (~> 3.12.0)
51
- rspec-mocks (~> 3.12.0)
52
- rspec-core (3.12.2)
53
- rspec-support (~> 3.12.0)
54
- rspec-expectations (3.12.3)
55
- diff-lcs (>= 1.2.0, < 2.0)
56
- rspec-support (~> 3.12.0)
57
- rspec-mocks (3.12.6)
58
- diff-lcs (>= 1.2.0, < 2.0)
59
- rspec-support (~> 3.12.0)
60
- rspec-support (3.12.1)
61
- rubocop (1.59.0)
62
- json (~> 2.3)
63
- language_server-protocol (>= 3.17.0)
64
- parallel (~> 1.10)
65
- parser (>= 3.2.2.4)
66
- rainbow (>= 2.2.2, < 4.0)
67
- regexp_parser (>= 1.8, < 3.0)
68
- rexml (>= 3.2.5, < 4.0)
69
- rubocop-ast (>= 1.30.0, < 2.0)
70
- ruby-progressbar (~> 1.7)
71
- unicode-display_width (>= 2.4.0, < 3.0)
72
- rubocop-ast (1.30.0)
73
- parser (>= 3.2.1.0)
74
- ruby-progressbar (1.13.0)
75
- ruby2_keywords (0.0.5)
76
- simpleidn (0.2.1)
77
- unf (~> 0.1.4)
78
- unf (0.1.4)
79
- unf_ext
80
- unf_ext (0.0.9.1)
81
- unicode-display_width (2.5.0)
82
- zeitwerk (2.6.12)
83
-
84
- PLATFORMS
85
- arm64-darwin-22
86
- ruby
87
- x86_64-linux
88
-
89
- DEPENDENCIES
90
- bundler
91
- openapi_first!
92
- rack (< 3.0.0)
93
- rack-test
94
- rake
95
- rspec
96
- rubocop
97
-
98
- BUNDLED WITH
99
- 2.5.3
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2020 Andreas Haller
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.