@@ -175,15 +175,18 @@ def consumes_object(route, format)
175175 end
176176
177177 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+
179181 value = { required : false } . merge ( value ) if value . is_a? ( Hash )
180182 _ , value = default_type ( [ [ param , value ] ] ) . first if value == ''
183+
181184 if value . dig ( :documentation , :type )
182185 expose_params ( value [ :documentation ] [ :type ] )
183186 elsif value [ :type ]
184187 expose_params ( value [ :type ] )
185188 end
186- GrapeSwagger ::DocMethods ::ParseParams . call ( param , value , path , route , @definitions )
189+ memo << GrapeSwagger ::DocMethods ::ParseParams . call ( param , value , path , route , @definitions )
187190 end
188191
189192 if GrapeSwagger ::DocMethods ::MoveParams . can_be_moved? ( route . request_method , parameters )
@@ -253,7 +256,7 @@ def success_codes_from_route(route)
253256
254257 def tag_object ( route , path )
255258 version = GrapeSwagger ::DocMethods ::Version . get ( route )
256- version = [ version ] unless version . is_a? ( Array )
259+ version = Array ( version )
257260 prefix = route . prefix . to_s . split ( '/' ) . reject ( &:empty? )
258261 Array (
259262 path . split ( '{' ) [ 0 ] . split ( '/' ) . reject ( &:empty? ) . delete_if do |i |
@@ -296,16 +299,13 @@ def build_file_response(memo)
296299 memo [ 'schema' ] = { type : 'file' }
297300 end
298301
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 )
301303 required = merge_params ( route )
302304 required = GrapeSwagger ::DocMethods ::Headers . parse ( route ) + required unless route . headers . nil?
303305
304306 default_type ( required )
305307
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 )
309309
310310 request_params . empty? ? required : request_params
311311 end
@@ -363,6 +363,16 @@ def hidden?(route, options)
363363 options [ :token_owner ] ? route_hidden . call ( send ( options [ :token_owner ] . to_sym ) ) : route_hidden . call
364364 end
365365
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+
366376 def success_code_from_entity ( route , entity )
367377 default_code = GrapeSwagger ::DocMethods ::StatusCodes . get [ route . request_method . downcase . to_sym ]
368378 if entity . is_a? ( Hash )
0 commit comments