From 902a3d136232077b5bafddfcf8b60dd369299b0c Mon Sep 17 00:00:00 2001 From: Cody Fauser Date: Mon, 20 Jul 2009 15:57:50 -0400 Subject: [PATCH] Fix filter_parameter_logging of non-hash values within array params --- .../base/filter_parameter_logging.rb | 2 +- actionpack/test/controller/filter_params_test.rb | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/actionpack/lib/action_controller/base/filter_parameter_logging.rb b/actionpack/lib/action_controller/base/filter_parameter_logging.rb index 065e62a..151839d 100644 --- a/actionpack/lib/action_controller/base/filter_parameter_logging.rb +++ b/actionpack/lib/action_controller/base/filter_parameter_logging.rb @@ -45,7 +45,7 @@ module ActionController filtered_parameters[key] = filter_parameters(value) elsif value.is_a?(Array) filtered_parameters[key] = value.collect do |item| - filter_parameters(item) + item.is_a?(Hash) ? filter_parameters(item) : item end elsif block_given? key = key.dup diff --git a/actionpack/test/controller/filter_params_test.rb b/actionpack/test/controller/filter_params_test.rb index f786474..632ed1e 100644 --- a/actionpack/test/controller/filter_params_test.rb +++ b/actionpack/test/controller/filter_params_test.rb @@ -41,7 +41,9 @@ class FilterParamTest < ActionController::TestCase [{'foo'=>'bar', 'baz'=>'foo'},{'foo'=>'[FILTERED]', 'baz'=>'[FILTERED]'},%w'foo baz'], [{'bar'=>{'foo'=>'bar','bar'=>'foo'}},{'bar'=>{'foo'=>'[FILTERED]','bar'=>'foo'}},%w'fo'], [{'foo'=>{'foo'=>'bar','bar'=>'foo'}},{'foo'=>'[FILTERED]'},%w'f banana'], - [{'baz'=>[{'foo'=>'baz'}]}, {'baz'=>[{'foo'=>'[FILTERED]'}]}, %w(foo)]] + [{'baz'=>[{'foo'=>'baz'}]}, {'baz'=>[{'foo'=>'[FILTERED]'}]}, %w(foo)], + [{'foo'=>['bar', 'baz']}, {'foo'=>['bar', 'baz']}, []], + [{'foo'=>['bar', 'baz']}, {'foo'=>'[FILTERED]'}, %w(foo)]] test_hashes.each do |before_filter, after_filter, filter_words| FilterParamController.filter_parameter_logging(*filter_words) -- 1.5.6.1