grape-swagger 0.20.3 → 0.21.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|