grape-swagger 0.20.3 → 0.21.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/.rubocop_todo.yml +10 -10
- data/.travis.yml +8 -3
- data/CHANGELOG.md +27 -0
- data/Gemfile +2 -0
- data/README.md +111 -12
- data/UPGRADING.md +9 -0
- data/grape-swagger.gemspec +1 -3
- data/lib/grape-swagger.rb +8 -1
- data/lib/grape-swagger/doc_methods/optional_object.rb +14 -2
- data/lib/grape-swagger/doc_methods/parse_params.rb +3 -4
- data/lib/grape-swagger/doc_methods/path_string.rb +4 -3
- data/lib/grape-swagger/endpoint.rb +25 -55
- data/lib/grape-swagger/errors.rb +3 -0
- data/lib/grape-swagger/grape/route.rb +2 -1
- data/lib/grape-swagger/model_parsers.rb +33 -0
- data/lib/grape-swagger/version.rb +1 -1
- data/spec/issues/403_versions_spec.rb +20 -4
- data/spec/lib/model_parsers_spec.rb +102 -0
- data/spec/lib/optional_object_spec.rb +15 -11
- data/spec/lib/path_string_spec.rb +72 -18
- data/spec/lib/produces_consumes_spec.rb +10 -5
- data/spec/spec_helper.rb +4 -2
- data/spec/support/empty_model_parser.rb +20 -0
- data/spec/support/mock_parser.rb +22 -0
- data/spec/support/model_parsers/entity_parser.rb +325 -0
- data/spec/support/{api_swagger_v2_result.rb → model_parsers/mock_parser.rb} +186 -60
- data/spec/support/model_parsers/representable_parser.rb +394 -0
- data/spec/support/the_paths_definitions.rb +7 -3
- data/spec/swagger_v2/api_swagger_v2_definitions-models_spec.rb +5 -4
- data/spec/swagger_v2/api_swagger_v2_detail_spec.rb +3 -3
- data/spec/swagger_v2/api_swagger_v2_extensions_spec.rb +1 -1
- data/spec/swagger_v2/api_swagger_v2_format-content_type_spec.rb +1 -1
- data/spec/swagger_v2/api_swagger_v2_headers_spec.rb +5 -3
- data/spec/swagger_v2/api_swagger_v2_hide_documentation_path_spec.rb +1 -1
- data/spec/swagger_v2/api_swagger_v2_mounted_spec.rb +1 -1
- data/spec/swagger_v2/api_swagger_v2_param_type_body_nested_spec.rb +25 -14
- data/spec/swagger_v2/api_swagger_v2_param_type_body_spec.rb +22 -12
- data/spec/swagger_v2/api_swagger_v2_param_type_spec.rb +30 -18
- data/spec/swagger_v2/api_swagger_v2_request_params_fix_spec.rb +6 -3
- data/spec/swagger_v2/api_swagger_v2_response_spec.rb +13 -40
- data/spec/swagger_v2/api_swagger_v2_spec.rb +4 -2
- data/spec/swagger_v2/api_swagger_v2_type-format_spec.rb +6 -36
- data/spec/swagger_v2/default_api_spec.rb +10 -2
- data/spec/swagger_v2/endpoint_versioned_path_spec.rb +30 -0
- data/spec/swagger_v2/errors_spec.rb +75 -0
- data/spec/swagger_v2/hide_api_spec.rb +22 -4
- data/spec/swagger_v2/mounted_target_class_spec.rb +6 -2
- data/spec/swagger_v2/namespace_tags_prefix_spec.rb +6 -3
- data/spec/swagger_v2/namespace_tags_spec.rb +6 -3
- data/spec/swagger_v2/params_array_spec.rb +4 -2
- data/spec/swagger_v2/params_hash_spec.rb +4 -2
- data/spec/swagger_v2/params_nested_spec.rb +4 -2
- data/spec/swagger_v2/simple_mounted_api_spec.rb +66 -24
- metadata +23 -40
- data/spec/support/the_api_entities.rb +0 -50
- data/spec/swagger_v2/response_model_spec.rb +0 -208
@@ -27,7 +27,8 @@ describe 'namespace tags check' do
|
|
27
27
|
{ 'name' => 'colorado', 'description' => 'Operations about colorados' },
|
28
28
|
{ 'name' => 'thames', 'description' => 'Operations about thames' },
|
29
29
|
{ 'name' => 'niles', 'description' => 'Operations about niles' }
|
30
|
-
]
|
30
|
+
]
|
31
|
+
)
|
31
32
|
|
32
33
|
expect(subject['paths']['/hudson']['get']['tags']).to eql(['hudson'])
|
33
34
|
expect(subject['paths']['/colorado/simple']['get']['tags']).to eql(['colorado'])
|
@@ -51,7 +52,8 @@ describe 'namespace tags check' do
|
|
51
52
|
{ 'name' => 'colorado', 'description' => 'Operations about colorados' },
|
52
53
|
{ 'name' => 'thames', 'description' => 'Operations about thames' },
|
53
54
|
{ 'name' => 'niles', 'description' => 'Operations about niles' }
|
54
|
-
]
|
55
|
+
]
|
56
|
+
)
|
55
57
|
|
56
58
|
expect(subject['paths']['/colorado/simple']['get']['tags']).to eql(['colorado'])
|
57
59
|
expect(subject['paths']['/colorado/simple-test']['get']['tags']).to eql(['colorado'])
|
@@ -70,7 +72,8 @@ describe 'namespace tags check' do
|
|
70
72
|
{ 'name' => 'colorado', 'description' => 'Operations about colorados' },
|
71
73
|
{ 'name' => 'thames', 'description' => 'Operations about thames' },
|
72
74
|
{ 'name' => 'niles', 'description' => 'Operations about niles' }
|
73
|
-
]
|
75
|
+
]
|
76
|
+
)
|
74
77
|
|
75
78
|
expect(subject['paths']['/thames/simple_with_headers']['get']['tags']).to eql(['thames'])
|
76
79
|
end
|
@@ -42,7 +42,8 @@ describe 'Group Params as Array' do
|
|
42
42
|
[
|
43
43
|
{ 'in' => 'formData', 'name' => 'required_group[][required_param_1]', 'required' => true, 'type' => 'array', 'items' => { 'type' => 'string' } },
|
44
44
|
{ 'in' => 'formData', 'name' => 'required_group[][required_param_2]', 'required' => true, 'type' => 'array', 'items' => { 'type' => 'string' } }
|
45
|
-
]
|
45
|
+
]
|
46
|
+
)
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
@@ -59,7 +60,8 @@ describe 'Group Params as Array' do
|
|
59
60
|
{ 'in' => 'formData', 'name' => 'typed_group[][name]', 'description' => 'string given', 'required' => true, 'type' => 'array', 'items' => { 'type' => 'string' } },
|
60
61
|
{ 'in' => 'formData', 'name' => 'typed_group[][email]', 'description' => 'email given', 'required' => false, 'type' => 'array', 'items' => { 'type' => 'string' } },
|
61
62
|
{ 'in' => 'formData', 'name' => 'typed_group[][others]', 'required' => false, 'type' => 'array', 'items' => { 'type' => 'integer' }, 'enum' => [1, 2, 3] }
|
62
|
-
]
|
63
|
+
]
|
64
|
+
)
|
63
65
|
end
|
64
66
|
end
|
65
67
|
end
|
@@ -43,7 +43,8 @@ describe 'Group Params as Hash' do
|
|
43
43
|
[
|
44
44
|
{ 'in' => 'formData', 'name' => 'required_group[required_param_1]', 'type' => 'string', 'required' => true },
|
45
45
|
{ 'in' => 'formData', 'name' => 'required_group[required_param_2]', 'type' => 'string', 'required' => true }
|
46
|
-
]
|
46
|
+
]
|
47
|
+
)
|
47
48
|
end
|
48
49
|
end
|
49
50
|
|
@@ -61,7 +62,8 @@ describe 'Group Params as Hash' do
|
|
61
62
|
{ 'in' => 'formData', 'name' => 'typed_group[name]', 'description' => 'string given', 'type' => 'string', 'required' => true },
|
62
63
|
{ 'in' => 'formData', 'name' => 'typed_group[email]', 'description' => 'email given', 'type' => 'string', 'required' => false },
|
63
64
|
{ 'in' => 'formData', 'name' => 'typed_group[others]', 'type' => 'integer', 'required' => false, 'format' => 'int32', 'enum' => [1, 2, 3] }
|
64
|
-
]
|
65
|
+
]
|
66
|
+
)
|
65
67
|
end
|
66
68
|
end
|
67
69
|
end
|
@@ -44,7 +44,8 @@ describe 'nested group params' do
|
|
44
44
|
[
|
45
45
|
{ 'in' => 'formData', 'name' => 'a_array[][param_1]', 'required' => true, 'type' => 'array', 'items' => { 'type' => 'integer' } },
|
46
46
|
{ 'in' => 'formData', 'name' => 'a_array[][b_array][][param_2]', 'required' => true, 'type' => 'array', 'items' => { 'type' => 'string' } }
|
47
|
-
]
|
47
|
+
]
|
48
|
+
)
|
48
49
|
end
|
49
50
|
end
|
50
51
|
|
@@ -59,7 +60,8 @@ describe 'nested group params' do
|
|
59
60
|
[
|
60
61
|
{ 'in' => 'formData', 'name' => 'a_hash[param_1]', 'required' => true, 'type' => 'integer', 'format' => 'int32' },
|
61
62
|
{ 'in' => 'formData', 'name' => 'a_hash[b_hash][param_2]', 'required' => true, 'type' => 'string' }
|
62
|
-
]
|
63
|
+
]
|
64
|
+
)
|
63
65
|
end
|
64
66
|
end
|
65
67
|
end
|
@@ -95,50 +95,66 @@ describe 'a simple mounted api' do
|
|
95
95
|
{ 'name' => 'simple-options-test', 'description' => 'Operations about simple-options-tests' },
|
96
96
|
{ 'name' => 'simple_with_headers', 'description' => 'Operations about simple_with_headers' },
|
97
97
|
{ 'name' => 'items', 'description' => 'Operations about items' },
|
98
|
-
{ 'name' => 'custom', 'description' => 'Operations about customs' }
|
98
|
+
{ 'name' => 'custom', 'description' => 'Operations about customs' }
|
99
|
+
],
|
99
100
|
'paths' => {
|
100
101
|
'/simple' => {
|
101
102
|
'get' => {
|
103
|
+
'summary' => 'This gets something.',
|
102
104
|
'description' => 'This gets something.',
|
103
105
|
'produces' => ['application/json'],
|
104
106
|
'tags' => ['simple'],
|
105
107
|
'operationId' => 'getSimple',
|
106
|
-
'responses' => { '200' => { 'description' => 'This gets something.' } }
|
108
|
+
'responses' => { '200' => { 'description' => 'This gets something.' } }
|
109
|
+
}
|
110
|
+
},
|
107
111
|
'/simple-test' => {
|
108
112
|
'get' => {
|
113
|
+
'summary' => 'This gets something for URL using - separator.',
|
109
114
|
'description' => 'This gets something for URL using - separator.',
|
110
115
|
'produces' => ['application/json'],
|
111
116
|
'tags' => ['simple-test'],
|
112
117
|
'operationId' => 'getSimpleTest',
|
113
|
-
'responses' => { '200' => { 'description' => 'This gets something for URL using - separator.' } }
|
118
|
+
'responses' => { '200' => { 'description' => 'This gets something for URL using - separator.' } }
|
119
|
+
}
|
120
|
+
},
|
114
121
|
'/simple-head-test' => {
|
115
122
|
'head' => {
|
116
123
|
'produces' => ['application/json'],
|
117
124
|
'responses' => { '200' => { 'description' => 'head SimpleHeadTest' } },
|
118
125
|
'tags' => ['simple-head-test'],
|
119
|
-
'operationId' => 'headSimpleHeadTest'
|
126
|
+
'operationId' => 'headSimpleHeadTest'
|
127
|
+
}
|
128
|
+
},
|
120
129
|
'/simple-options-test' => {
|
121
130
|
'options' => {
|
122
131
|
'produces' => ['application/json'],
|
123
132
|
'responses' => { '200' => { 'description' => 'option SimpleOptionsTest' } },
|
124
133
|
'tags' => ['simple-options-test'],
|
125
|
-
'operationId' => 'optionsSimpleOptionsTest'
|
134
|
+
'operationId' => 'optionsSimpleOptionsTest'
|
135
|
+
}
|
136
|
+
},
|
126
137
|
'/simple_with_headers' => {
|
127
138
|
'get' => {
|
139
|
+
'summary' => 'this gets something else',
|
128
140
|
'description' => 'this gets something else',
|
129
141
|
'produces' => ['application/json'],
|
130
142
|
'parameters' => [
|
131
143
|
{ 'in' => 'header', 'name' => 'XAuthToken', 'description' => 'A required header.', 'type' => 'string', 'required' => true },
|
132
|
-
{ 'in' => 'header', 'name' => 'XOtherHeader', 'description' => 'An optional header.', 'type' => 'string', 'required' => false }
|
144
|
+
{ 'in' => 'header', 'name' => 'XOtherHeader', 'description' => 'An optional header.', 'type' => 'string', 'required' => false }
|
145
|
+
],
|
133
146
|
'tags' => ['simple_with_headers'],
|
134
147
|
'operationId' => 'getSimpleWithHeaders',
|
135
148
|
'responses' => {
|
136
149
|
'200' => { 'description' => 'this gets something else' },
|
137
150
|
'403' => { 'description' => 'invalid pony' },
|
138
|
-
'405' => { 'description' => 'no ponies left!' }
|
139
|
-
|
151
|
+
'405' => { 'description' => 'no ponies left!' }
|
152
|
+
}
|
153
|
+
}
|
154
|
+
},
|
140
155
|
'/items' => {
|
141
156
|
'post' => {
|
157
|
+
'summary' => 'this takes an array of parameters',
|
142
158
|
'description' => 'this takes an array of parameters',
|
143
159
|
'produces' => ['application/json'],
|
144
160
|
'consumes' => ['application/json'],
|
@@ -146,16 +162,21 @@ describe 'a simple mounted api' do
|
|
146
162
|
'tags' => ['items'],
|
147
163
|
'operationId' => 'postItems',
|
148
164
|
'responses' => { '201' => { 'description' => 'this takes an array of parameters' } }
|
149
|
-
}
|
165
|
+
}
|
166
|
+
},
|
150
167
|
'/custom' => {
|
151
168
|
'get' => {
|
169
|
+
'summary' => 'this uses a custom parameter',
|
152
170
|
'description' => 'this uses a custom parameter',
|
153
171
|
'produces' => ['application/json'],
|
154
172
|
'parameters' => [{ 'in' => 'formData', 'name' => 'custom', 'description' => 'array of items', 'required' => false, 'type' => 'array', 'items' => { 'type' => 'CustomType' } }],
|
155
173
|
'tags' => ['custom'],
|
156
174
|
'operationId' => 'getCustom',
|
157
|
-
'responses' => { '200' => { 'description' => 'this uses a custom parameter' } }
|
158
|
-
|
175
|
+
'responses' => { '200' => { 'description' => 'this uses a custom parameter' } }
|
176
|
+
}
|
177
|
+
}
|
178
|
+
}
|
179
|
+
)
|
159
180
|
end
|
160
181
|
end
|
161
182
|
|
@@ -178,16 +199,21 @@ describe 'a simple mounted api' do
|
|
178
199
|
{ 'name' => 'simple-options-test', 'description' => 'Operations about simple-options-tests' },
|
179
200
|
{ 'name' => 'simple_with_headers', 'description' => 'Operations about simple_with_headers' },
|
180
201
|
{ 'name' => 'items', 'description' => 'Operations about items' },
|
181
|
-
{ 'name' => 'custom', 'description' => 'Operations about customs' }
|
202
|
+
{ 'name' => 'custom', 'description' => 'Operations about customs' }
|
203
|
+
],
|
182
204
|
'paths' => {
|
183
205
|
'/simple' => {
|
184
206
|
'get' => {
|
207
|
+
'summary' => 'This gets something.',
|
185
208
|
'description' => 'This gets something.',
|
186
209
|
'produces' => ['application/json'],
|
187
210
|
'tags' => ['simple'],
|
188
211
|
'operationId' => 'getSimple',
|
189
|
-
'responses' => { '200' => { 'description' => 'This gets something.' } }
|
190
|
-
|
212
|
+
'responses' => { '200' => { 'description' => 'This gets something.' } }
|
213
|
+
}
|
214
|
+
}
|
215
|
+
}
|
216
|
+
)
|
191
217
|
end
|
192
218
|
end
|
193
219
|
|
@@ -211,16 +237,21 @@ describe 'a simple mounted api' do
|
|
211
237
|
{ 'name' => 'simple-options-test', 'description' => 'Operations about simple-options-tests' },
|
212
238
|
{ 'name' => 'simple_with_headers', 'description' => 'Operations about simple_with_headers' },
|
213
239
|
{ 'name' => 'items', 'description' => 'Operations about items' },
|
214
|
-
{ 'name' => 'custom', 'description' => 'Operations about customs' }
|
240
|
+
{ 'name' => 'custom', 'description' => 'Operations about customs' }
|
241
|
+
],
|
215
242
|
'paths' => {
|
216
243
|
'/simple-test' => {
|
217
244
|
'get' => {
|
245
|
+
'summary' => 'This gets something for URL using - separator.',
|
218
246
|
'description' => 'This gets something for URL using - separator.',
|
219
247
|
'produces' => ['application/json'],
|
220
248
|
'tags' => ['simple-test'],
|
221
249
|
'operationId' => 'getSimpleTest',
|
222
|
-
'responses' => { '200' => { 'description' => 'This gets something for URL using - separator.' } }
|
223
|
-
|
250
|
+
'responses' => { '200' => { 'description' => 'This gets something for URL using - separator.' } }
|
251
|
+
}
|
252
|
+
}
|
253
|
+
}
|
254
|
+
)
|
224
255
|
end
|
225
256
|
end
|
226
257
|
|
@@ -234,18 +265,23 @@ describe 'a simple mounted api' do
|
|
234
265
|
expect(subject['paths']).to eq(
|
235
266
|
'/simple_with_headers' => {
|
236
267
|
'get' => {
|
268
|
+
'summary' => 'this gets something else',
|
237
269
|
'description' => 'this gets something else',
|
238
270
|
'produces' => ['application/json'],
|
239
271
|
'parameters' => [
|
240
272
|
{ 'in' => 'header', 'name' => 'XAuthToken', 'description' => 'A required header.', 'type' => 'string', 'required' => true },
|
241
|
-
{ 'in' => 'header', 'name' => 'XOtherHeader', 'description' => 'An optional header.', 'type' => 'string', 'required' => false }
|
273
|
+
{ 'in' => 'header', 'name' => 'XOtherHeader', 'description' => 'An optional header.', 'type' => 'string', 'required' => false }
|
274
|
+
],
|
242
275
|
'tags' => ['simple_with_headers'],
|
243
276
|
'operationId' => 'getSimpleWithHeaders',
|
244
277
|
'responses' => {
|
245
278
|
'200' => { 'description' => 'this gets something else' },
|
246
279
|
'403' => { 'description' => 'invalid pony' },
|
247
|
-
'405' => { 'description' => 'no ponies left!' }
|
248
|
-
|
280
|
+
'405' => { 'description' => 'no ponies left!' }
|
281
|
+
}
|
282
|
+
}
|
283
|
+
}
|
284
|
+
)
|
249
285
|
end
|
250
286
|
end
|
251
287
|
|
@@ -259,14 +295,17 @@ describe 'a simple mounted api' do
|
|
259
295
|
expect(subject['paths']).to eq(
|
260
296
|
'/items' => {
|
261
297
|
'post' => {
|
298
|
+
'summary' => 'this takes an array of parameters',
|
262
299
|
'description' => 'this takes an array of parameters',
|
263
300
|
'produces' => ['application/json'],
|
264
301
|
'consumes' => ['application/json'],
|
265
302
|
'parameters' => [{ 'in' => 'formData', 'name' => 'items[]', 'description' => 'array of items', 'required' => false, 'type' => 'array', 'items' => { 'type' => 'string' } }],
|
266
303
|
'tags' => ['items'],
|
267
304
|
'operationId' => 'postItems',
|
268
|
-
'responses' => { '201' => { 'description' => 'this takes an array of parameters' } }
|
269
|
-
|
305
|
+
'responses' => { '201' => { 'description' => 'this takes an array of parameters' } }
|
306
|
+
}
|
307
|
+
}
|
308
|
+
)
|
270
309
|
end
|
271
310
|
end
|
272
311
|
|
@@ -280,13 +319,16 @@ describe 'a simple mounted api' do
|
|
280
319
|
expect(subject['paths']).to eq(
|
281
320
|
'/custom' => {
|
282
321
|
'get' => {
|
322
|
+
'summary' => 'this uses a custom parameter',
|
283
323
|
'description' => 'this uses a custom parameter',
|
284
324
|
'produces' => ['application/json'],
|
285
325
|
'parameters' => [{ 'in' => 'formData', 'name' => 'custom', 'description' => 'array of items', 'required' => false, 'type' => 'array', 'items' => { 'type' => 'CustomType' } }],
|
286
326
|
'tags' => ['custom'],
|
287
327
|
'operationId' => 'getCustom',
|
288
|
-
'responses' => { '200' => { 'description' => 'this uses a custom parameter' } }
|
289
|
-
|
328
|
+
'responses' => { '200' => { 'description' => 'this uses a custom parameter' } }
|
329
|
+
}
|
330
|
+
}
|
331
|
+
)
|
290
332
|
end
|
291
333
|
end
|
292
334
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-swagger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Vandecasteele
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grape
|
@@ -24,34 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.12.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: grape-entity
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: awesome_print
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
27
|
- !ruby/object:Gem::Dependency
|
56
28
|
name: rake
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,16 +126,16 @@ dependencies:
|
|
154
126
|
name: rubocop
|
155
127
|
requirement: !ruby/object:Gem::Requirement
|
156
128
|
requirements:
|
157
|
-
- -
|
129
|
+
- - '='
|
158
130
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
131
|
+
version: 0.40.0
|
160
132
|
type: :development
|
161
133
|
prerelease: false
|
162
134
|
version_requirements: !ruby/object:Gem::Requirement
|
163
135
|
requirements:
|
164
|
-
- -
|
136
|
+
- - '='
|
165
137
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
138
|
+
version: 0.40.0
|
167
139
|
- !ruby/object:Gem::Dependency
|
168
140
|
name: kramdown
|
169
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -281,11 +253,13 @@ files:
|
|
281
253
|
- lib/grape-swagger/grape/route.rb
|
282
254
|
- lib/grape-swagger/markdown/kramdown_adapter.rb
|
283
255
|
- lib/grape-swagger/markdown/redcarpet_adapter.rb
|
256
|
+
- lib/grape-swagger/model_parsers.rb
|
284
257
|
- lib/grape-swagger/version.rb
|
285
258
|
- spec/issues/403_versions_spec.rb
|
286
259
|
- spec/lib/data_type_spec.rb
|
287
260
|
- spec/lib/endpoint_spec.rb
|
288
261
|
- spec/lib/extensions_spec.rb
|
262
|
+
- spec/lib/model_parsers_spec.rb
|
289
263
|
- spec/lib/move_params_spec.rb
|
290
264
|
- spec/lib/operation_id_spec.rb
|
291
265
|
- spec/lib/optional_object_spec.rb
|
@@ -294,10 +268,13 @@ files:
|
|
294
268
|
- spec/markdown/kramdown_adapter_spec.rb
|
295
269
|
- spec/markdown/redcarpet_adapter_spec.rb
|
296
270
|
- spec/spec_helper.rb
|
297
|
-
- spec/support/
|
271
|
+
- spec/support/empty_model_parser.rb
|
298
272
|
- spec/support/grape_version.rb
|
273
|
+
- spec/support/mock_parser.rb
|
274
|
+
- spec/support/model_parsers/entity_parser.rb
|
275
|
+
- spec/support/model_parsers/mock_parser.rb
|
276
|
+
- spec/support/model_parsers/representable_parser.rb
|
299
277
|
- spec/support/namespace_tags.rb
|
300
|
-
- spec/support/the_api_entities.rb
|
301
278
|
- spec/support/the_paths_definitions.rb
|
302
279
|
- spec/swagger_v2/api_swagger_v2_definitions-models_spec.rb
|
303
280
|
- spec/swagger_v2/api_swagger_v2_detail_spec.rb
|
@@ -317,6 +294,8 @@ files:
|
|
317
294
|
- spec/swagger_v2/boolean_params_spec.rb
|
318
295
|
- spec/swagger_v2/default_api_spec.rb
|
319
296
|
- spec/swagger_v2/description_not_initialized.rb
|
297
|
+
- spec/swagger_v2/endpoint_versioned_path_spec.rb
|
298
|
+
- spec/swagger_v2/errors_spec.rb
|
320
299
|
- spec/swagger_v2/float_api_spec.rb
|
321
300
|
- spec/swagger_v2/form_params_spec.rb
|
322
301
|
- spec/swagger_v2/grape-swagger_spec.rb
|
@@ -332,7 +311,6 @@ files:
|
|
332
311
|
- spec/swagger_v2/params_hash_spec.rb
|
333
312
|
- spec/swagger_v2/params_nested_spec.rb
|
334
313
|
- spec/swagger_v2/reference_entity.rb
|
335
|
-
- spec/swagger_v2/response_model_spec.rb
|
336
314
|
- spec/swagger_v2/simple_mounted_api_spec.rb
|
337
315
|
- spec/version_spec.rb
|
338
316
|
homepage: https://github.com/ruby-grape/grape-swagger
|
@@ -365,6 +343,7 @@ test_files:
|
|
365
343
|
- spec/lib/data_type_spec.rb
|
366
344
|
- spec/lib/endpoint_spec.rb
|
367
345
|
- spec/lib/extensions_spec.rb
|
346
|
+
- spec/lib/model_parsers_spec.rb
|
368
347
|
- spec/lib/move_params_spec.rb
|
369
348
|
- spec/lib/operation_id_spec.rb
|
370
349
|
- spec/lib/optional_object_spec.rb
|
@@ -373,10 +352,13 @@ test_files:
|
|
373
352
|
- spec/markdown/kramdown_adapter_spec.rb
|
374
353
|
- spec/markdown/redcarpet_adapter_spec.rb
|
375
354
|
- spec/spec_helper.rb
|
376
|
-
- spec/support/
|
355
|
+
- spec/support/empty_model_parser.rb
|
377
356
|
- spec/support/grape_version.rb
|
357
|
+
- spec/support/mock_parser.rb
|
358
|
+
- spec/support/model_parsers/entity_parser.rb
|
359
|
+
- spec/support/model_parsers/mock_parser.rb
|
360
|
+
- spec/support/model_parsers/representable_parser.rb
|
378
361
|
- spec/support/namespace_tags.rb
|
379
|
-
- spec/support/the_api_entities.rb
|
380
362
|
- spec/support/the_paths_definitions.rb
|
381
363
|
- spec/swagger_v2/api_swagger_v2_definitions-models_spec.rb
|
382
364
|
- spec/swagger_v2/api_swagger_v2_detail_spec.rb
|
@@ -396,6 +378,8 @@ test_files:
|
|
396
378
|
- spec/swagger_v2/boolean_params_spec.rb
|
397
379
|
- spec/swagger_v2/default_api_spec.rb
|
398
380
|
- spec/swagger_v2/description_not_initialized.rb
|
381
|
+
- spec/swagger_v2/endpoint_versioned_path_spec.rb
|
382
|
+
- spec/swagger_v2/errors_spec.rb
|
399
383
|
- spec/swagger_v2/float_api_spec.rb
|
400
384
|
- spec/swagger_v2/form_params_spec.rb
|
401
385
|
- spec/swagger_v2/grape-swagger_spec.rb
|
@@ -411,6 +395,5 @@ test_files:
|
|
411
395
|
- spec/swagger_v2/params_hash_spec.rb
|
412
396
|
- spec/swagger_v2/params_nested_spec.rb
|
413
397
|
- spec/swagger_v2/reference_entity.rb
|
414
|
-
- spec/swagger_v2/response_model_spec.rb
|
415
398
|
- spec/swagger_v2/simple_mounted_api_spec.rb
|
416
399
|
- spec/version_spec.rb
|