@@ -175,15 +175,18 @@ def consumes_object(route, format)
175
175
end
176
176
177
177
def params_object ( route , options , path )
178
- parameters = partition_params ( route , options ) . map do |param , value |
178
+ parameters = build_request_params ( route , options ) . each_with_object ( [ ] ) do |( param , value ) , memo |
179
+ next if hidden_parameter? ( value )
180
+
179
181
value = { required : false } . merge ( value ) if value . is_a? ( Hash )
180
182
_ , value = default_type ( [ [ param , value ] ] ) . first if value == ''
183
+
181
184
if value . dig ( :documentation , :type )
182
185
expose_params ( value [ :documentation ] [ :type ] )
183
186
elsif value [ :type ]
184
187
expose_params ( value [ :type ] )
185
188
end
186
- GrapeSwagger ::DocMethods ::ParseParams . call ( param , value , path , route , @definitions )
189
+ memo << GrapeSwagger ::DocMethods ::ParseParams . call ( param , value , path , route , @definitions )
187
190
end
188
191
189
192
if GrapeSwagger ::DocMethods ::MoveParams . can_be_moved? ( route . request_method , parameters )
@@ -253,7 +256,7 @@ def success_codes_from_route(route)
253
256
254
257
def tag_object ( route , path )
255
258
version = GrapeSwagger ::DocMethods ::Version . get ( route )
256
- version = [ version ] unless version . is_a? ( Array )
259
+ version = Array ( version )
257
260
prefix = route . prefix . to_s . split ( '/' ) . reject ( &:empty? )
258
261
Array (
259
262
path . split ( '{' ) [ 0 ] . split ( '/' ) . reject ( &:empty? ) . delete_if do |i |
@@ -296,16 +299,13 @@ def build_file_response(memo)
296
299
memo [ 'schema' ] = { type : 'file' }
297
300
end
298
301
299
- def partition_params ( route , settings )
300
- declared_params = route . settings [ :declared_params ] if route . settings [ :declared_params ] . present?
302
+ def build_request_params ( route , settings )
301
303
required = merge_params ( route )
302
304
required = GrapeSwagger ::DocMethods ::Headers . parse ( route ) + required unless route . headers . nil?
303
305
304
306
default_type ( required )
305
307
306
- request_params = unless declared_params . nil? && route . headers . nil?
307
- GrapeSwagger ::Endpoint ::ParamsParser . parse_request_params ( required , settings , self )
308
- end || { }
308
+ request_params = GrapeSwagger ::Endpoint ::ParamsParser . parse_request_params ( required , settings , self )
309
309
310
310
request_params . empty? ? required : request_params
311
311
end
@@ -363,6 +363,16 @@ def hidden?(route, options)
363
363
options [ :token_owner ] ? route_hidden . call ( send ( options [ :token_owner ] . to_sym ) ) : route_hidden . call
364
364
end
365
365
366
+ def hidden_parameter? ( value )
367
+ return false if value . dig ( :required )
368
+
369
+ if value . dig ( :documentation , :hidden ) . is_a? ( Proc )
370
+ value . dig ( :documentation , :hidden ) . call
371
+ else
372
+ value . dig ( :documentation , :hidden )
373
+ end
374
+ end
375
+
366
376
def success_code_from_entity ( route , entity )
367
377
default_code = GrapeSwagger ::DocMethods ::StatusCodes . get [ route . request_method . downcase . to_sym ]
368
378
if entity . is_a? ( Hash )
0 commit comments