grape-swagger 1.1.0 → 1.4.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.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +14 -0
- data/.github/workflows/rubocop.yml +26 -0
- data/.github/workflows/ruby.yml +32 -0
- data/.rubocop.yml +65 -2
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +50 -0
- data/Gemfile +8 -3
- data/README.md +182 -13
- data/UPGRADING.md +34 -0
- data/grape-swagger.gemspec +4 -4
- data/lib/grape-swagger.rb +7 -4
- data/lib/grape-swagger/doc_methods.rb +65 -62
- data/lib/grape-swagger/doc_methods/build_model_definition.rb +53 -2
- data/lib/grape-swagger/doc_methods/data_type.rb +4 -4
- data/lib/grape-swagger/doc_methods/format_data.rb +2 -2
- data/lib/grape-swagger/doc_methods/operation_id.rb +2 -2
- data/lib/grape-swagger/doc_methods/parse_params.rb +20 -4
- data/lib/grape-swagger/endpoint.rb +83 -32
- data/lib/grape-swagger/errors.rb +2 -0
- data/lib/grape-swagger/model_parsers.rb +2 -2
- data/lib/grape-swagger/rake/oapi_tasks.rb +2 -0
- data/lib/grape-swagger/version.rb +1 -1
- data/spec/issues/427_entity_as_string_spec.rb +1 -1
- data/spec/issues/430_entity_definitions_spec.rb +7 -5
- data/spec/issues/537_enum_values_spec.rb +1 -0
- data/spec/issues/776_multiple_presents_spec.rb +59 -0
- data/spec/issues/809_utf8_routes_spec.rb +55 -0
- data/spec/lib/data_type_spec.rb +12 -0
- data/spec/lib/format_data_spec.rb +24 -0
- data/spec/lib/move_params_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- data/spec/support/empty_model_parser.rb +3 -2
- data/spec/support/mock_parser.rb +1 -2
- data/spec/support/model_parsers/entity_parser.rb +8 -8
- data/spec/support/model_parsers/mock_parser.rb +24 -8
- data/spec/support/model_parsers/representable_parser.rb +8 -8
- data/spec/support/namespace_tags.rb +3 -0
- data/spec/swagger_v2/api_swagger_v2_hide_param_spec.rb +1 -1
- data/spec/swagger_v2/api_swagger_v2_mounted_spec.rb +1 -0
- data/spec/swagger_v2/api_swagger_v2_param_type_body_spec.rb +2 -2
- data/spec/swagger_v2/api_swagger_v2_response_with_headers_spec.rb +4 -2
- data/spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb +53 -0
- data/spec/swagger_v2/api_swagger_v2_spec.rb +1 -0
- data/spec/swagger_v2/boolean_params_spec.rb +1 -0
- data/spec/swagger_v2/float_api_spec.rb +1 -0
- data/spec/swagger_v2/inheritance_and_discriminator_spec.rb +57 -0
- data/spec/swagger_v2/namespace_tags_prefix_spec.rb +1 -0
- data/spec/swagger_v2/param_multi_type_spec.rb +2 -0
- data/spec/swagger_v2/param_type_spec.rb +3 -0
- data/spec/swagger_v2/param_values_spec.rb +6 -0
- data/spec/swagger_v2/{params_array_collection_fromat_spec.rb → params_array_collection_format_spec.rb} +0 -0
- data/spec/swagger_v2/params_example_spec.rb +40 -0
- data/spec/swagger_v2/reference_entity_spec.rb +74 -29
- data/spec/swagger_v2/security_requirement_spec.rb +2 -2
- data/spec/swagger_v2/simple_mounted_api_spec.rb +3 -0
- metadata +27 -13
- data/.travis.yml +0 -35
@@ -5,7 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe 'security requirement on endpoint method' do
|
6
6
|
def app
|
7
7
|
Class.new(Grape::API) do
|
8
|
-
desc 'Endpoint with security requirement', security: [oauth_pets: ['read:pets', 'write:pets']]
|
8
|
+
desc 'Endpoint with security requirement', security: [{ oauth_pets: ['read:pets', 'write:pets'] }]
|
9
9
|
get '/with_security' do
|
10
10
|
{ foo: 'bar' }
|
11
11
|
end
|
@@ -37,7 +37,7 @@ describe 'security requirement on endpoint method' do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'defines the security requirement on the endpoint method' do
|
40
|
-
expect(subject['paths']['/with_security']['get']['security']).to eql ['oauth_pets' => ['read:pets', 'write:pets']]
|
40
|
+
expect(subject['paths']['/with_security']['get']['security']).to eql [{ 'oauth_pets' => ['read:pets', 'write:pets'] }]
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'defines an empty security requirement on the endpoint method' do
|
@@ -4,11 +4,14 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe 'a simple mounted api' do
|
6
6
|
before :all do
|
7
|
+
# rubocop:disable Lint/EmptyClass
|
7
8
|
class CustomType; end
|
9
|
+
# rubocop:enable Lint/EmptyClass
|
8
10
|
|
9
11
|
class SimpleMountedApi < Grape::API
|
10
12
|
desc 'Document root'
|
11
13
|
get do
|
14
|
+
{ message: 'hi' }
|
12
15
|
end
|
13
16
|
|
14
17
|
desc 'This gets something.',
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-swagger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- LeFnord
|
7
8
|
- Tim Vandecasteele
|
8
|
-
autorequire:
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2021-03-19 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: grape
|
@@ -16,28 +17,31 @@ dependencies:
|
|
16
17
|
requirements:
|
17
18
|
- - "~>"
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.3
|
20
|
+
version: '1.3'
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
25
|
- - "~>"
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.3
|
27
|
-
description:
|
27
|
+
version: '1.3'
|
28
|
+
description:
|
28
29
|
email:
|
30
|
+
- pscholz.le@gmail.com
|
29
31
|
- tim.vandecasteele@gmail.com
|
30
32
|
executables: []
|
31
33
|
extensions: []
|
32
34
|
extra_rdoc_files: []
|
33
35
|
files:
|
34
36
|
- ".coveralls.yml"
|
37
|
+
- ".github/dependabot.yml"
|
38
|
+
- ".github/workflows/rubocop.yml"
|
39
|
+
- ".github/workflows/ruby.yml"
|
35
40
|
- ".gitignore"
|
36
41
|
- ".rspec"
|
37
42
|
- ".rubocop.yml"
|
38
43
|
- ".rubocop_todo.yml"
|
39
44
|
- ".ruby-gemset"
|
40
|
-
- ".travis.yml"
|
41
45
|
- CHANGELOG.md
|
42
46
|
- CONTRIBUTING.md
|
43
47
|
- Dangerfile
|
@@ -95,7 +99,9 @@ files:
|
|
95
99
|
- spec/issues/650_params_array_spec.rb
|
96
100
|
- spec/issues/680_keep_204_error_schemas_spec.rb
|
97
101
|
- spec/issues/751_deeply_nested_objects_spec.rb
|
102
|
+
- spec/issues/776_multiple_presents_spec.rb
|
98
103
|
- spec/issues/784_extensions_on_params_spec.rb
|
104
|
+
- spec/issues/809_utf8_routes_spec.rb
|
99
105
|
- spec/lib/data_type_spec.rb
|
100
106
|
- spec/lib/endpoint/params_parser_spec.rb
|
101
107
|
- spec/lib/endpoint_spec.rb
|
@@ -140,6 +146,7 @@ files:
|
|
140
146
|
- spec/swagger_v2/api_swagger_v2_response_spec.rb
|
141
147
|
- spec/swagger_v2/api_swagger_v2_response_with_examples_spec.rb
|
142
148
|
- spec/swagger_v2/api_swagger_v2_response_with_headers_spec.rb
|
149
|
+
- spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb
|
143
150
|
- spec/swagger_v2/api_swagger_v2_response_with_root_spec.rb
|
144
151
|
- spec/swagger_v2/api_swagger_v2_spec.rb
|
145
152
|
- spec/swagger_v2/api_swagger_v2_status_codes_spec.rb
|
@@ -156,6 +163,7 @@ files:
|
|
156
163
|
- spec/swagger_v2/guarded_endpoint_spec.rb
|
157
164
|
- spec/swagger_v2/hide_api_spec.rb
|
158
165
|
- spec/swagger_v2/host_spec.rb
|
166
|
+
- spec/swagger_v2/inheritance_and_discriminator_spec.rb
|
159
167
|
- spec/swagger_v2/mount_override_api_spec.rb
|
160
168
|
- spec/swagger_v2/mounted_target_class_spec.rb
|
161
169
|
- spec/swagger_v2/namespace_tags_prefix_spec.rb
|
@@ -166,8 +174,9 @@ files:
|
|
166
174
|
- spec/swagger_v2/param_multi_type_spec.rb
|
167
175
|
- spec/swagger_v2/param_type_spec.rb
|
168
176
|
- spec/swagger_v2/param_values_spec.rb
|
169
|
-
- spec/swagger_v2/
|
177
|
+
- spec/swagger_v2/params_array_collection_format_spec.rb
|
170
178
|
- spec/swagger_v2/params_array_spec.rb
|
179
|
+
- spec/swagger_v2/params_example_spec.rb
|
171
180
|
- spec/swagger_v2/params_hash_spec.rb
|
172
181
|
- spec/swagger_v2/params_nested_spec.rb
|
173
182
|
- spec/swagger_v2/parent_less_namespace_spec.rb
|
@@ -179,7 +188,7 @@ homepage: https://github.com/ruby-grape/grape-swagger
|
|
179
188
|
licenses:
|
180
189
|
- MIT
|
181
190
|
metadata: {}
|
182
|
-
post_install_message:
|
191
|
+
post_install_message:
|
183
192
|
rdoc_options: []
|
184
193
|
require_paths:
|
185
194
|
- lib
|
@@ -187,15 +196,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
187
196
|
requirements:
|
188
197
|
- - ">="
|
189
198
|
- !ruby/object:Gem::Version
|
190
|
-
version: '2.
|
199
|
+
version: '2.5'
|
191
200
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
201
|
requirements:
|
193
202
|
- - ">="
|
194
203
|
- !ruby/object:Gem::Version
|
195
204
|
version: '0'
|
196
205
|
requirements: []
|
197
|
-
rubygems_version: 3.
|
198
|
-
signing_key:
|
206
|
+
rubygems_version: 3.2.3
|
207
|
+
signing_key:
|
199
208
|
specification_version: 4
|
200
209
|
summary: Add auto generated documentation to your Grape API that can be displayed
|
201
210
|
with Swagger.
|
@@ -218,7 +227,9 @@ test_files:
|
|
218
227
|
- spec/issues/650_params_array_spec.rb
|
219
228
|
- spec/issues/680_keep_204_error_schemas_spec.rb
|
220
229
|
- spec/issues/751_deeply_nested_objects_spec.rb
|
230
|
+
- spec/issues/776_multiple_presents_spec.rb
|
221
231
|
- spec/issues/784_extensions_on_params_spec.rb
|
232
|
+
- spec/issues/809_utf8_routes_spec.rb
|
222
233
|
- spec/lib/data_type_spec.rb
|
223
234
|
- spec/lib/endpoint/params_parser_spec.rb
|
224
235
|
- spec/lib/endpoint_spec.rb
|
@@ -263,6 +274,7 @@ test_files:
|
|
263
274
|
- spec/swagger_v2/api_swagger_v2_response_spec.rb
|
264
275
|
- spec/swagger_v2/api_swagger_v2_response_with_examples_spec.rb
|
265
276
|
- spec/swagger_v2/api_swagger_v2_response_with_headers_spec.rb
|
277
|
+
- spec/swagger_v2/api_swagger_v2_response_with_models_spec.rb
|
266
278
|
- spec/swagger_v2/api_swagger_v2_response_with_root_spec.rb
|
267
279
|
- spec/swagger_v2/api_swagger_v2_spec.rb
|
268
280
|
- spec/swagger_v2/api_swagger_v2_status_codes_spec.rb
|
@@ -279,6 +291,7 @@ test_files:
|
|
279
291
|
- spec/swagger_v2/guarded_endpoint_spec.rb
|
280
292
|
- spec/swagger_v2/hide_api_spec.rb
|
281
293
|
- spec/swagger_v2/host_spec.rb
|
294
|
+
- spec/swagger_v2/inheritance_and_discriminator_spec.rb
|
282
295
|
- spec/swagger_v2/mount_override_api_spec.rb
|
283
296
|
- spec/swagger_v2/mounted_target_class_spec.rb
|
284
297
|
- spec/swagger_v2/namespace_tags_prefix_spec.rb
|
@@ -289,8 +302,9 @@ test_files:
|
|
289
302
|
- spec/swagger_v2/param_multi_type_spec.rb
|
290
303
|
- spec/swagger_v2/param_type_spec.rb
|
291
304
|
- spec/swagger_v2/param_values_spec.rb
|
292
|
-
- spec/swagger_v2/
|
305
|
+
- spec/swagger_v2/params_array_collection_format_spec.rb
|
293
306
|
- spec/swagger_v2/params_array_spec.rb
|
307
|
+
- spec/swagger_v2/params_example_spec.rb
|
294
308
|
- spec/swagger_v2/params_hash_spec.rb
|
295
309
|
- spec/swagger_v2/params_nested_spec.rb
|
296
310
|
- spec/swagger_v2/parent_less_namespace_spec.rb
|
data/.travis.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
os: linux
|
4
|
-
|
5
|
-
before_install:
|
6
|
-
- gem install bundler
|
7
|
-
|
8
|
-
after_success:
|
9
|
-
- bundle exec danger
|
10
|
-
|
11
|
-
rvm:
|
12
|
-
- 2.5.8
|
13
|
-
- 2.6.6
|
14
|
-
- 2.7.1
|
15
|
-
env:
|
16
|
-
- GRAPE_VERSION=1.3.0 MODEL_PARSER=grape-swagger-entity
|
17
|
-
- GRAPE_VERSION=1.3.0 MODEL_PARSER=grape-swagger-representable
|
18
|
-
- GRAPE_VERSION=1.3.0
|
19
|
-
- GRAPE_VERSION=HEAD
|
20
|
-
|
21
|
-
jobs:
|
22
|
-
fast_finish: true
|
23
|
-
|
24
|
-
include:
|
25
|
-
- rvm: 2.4.10
|
26
|
-
env:
|
27
|
-
- rvm: ruby-head
|
28
|
-
env:
|
29
|
-
- rvm: jruby-head
|
30
|
-
env:
|
31
|
-
|
32
|
-
allow_failures:
|
33
|
-
- rvm: 2.4.10
|
34
|
-
- rvm: ruby-head
|
35
|
-
- rvm: jruby-head
|