about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatt Jankowski <mjankowski@thoughtbot.com>2017-05-19 05:43:20 -0400
committerEugen Rochko <eugen@zeonfederated.com>2017-05-19 11:43:20 +0200
commit8e4fc5d5d2e5152df35e0486f13356ec76d590f3 (patch)
tree2fd197191a98f0fe65ddd32e995726aad98df2b7
parentb8b7b506a27ddc1373032078a4f1cfd47242627a (diff)
Improve how params from controller are permitted in filter helper (#3129)
The `params` variable here was quite overloaded.

It exists via the controller to hold the request params, and was sometimes being
used in this helper as that object, but other times was being used as a local
variable, or to pass to another method, and this was confusing.

This change renames the args for a method away from `params` for more clarity,
and extracts the actual usage of the controller-provided `params` to a
better-named method for clarity.
-rw-r--r--app/helpers/admin/filter_helper.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/app/helpers/admin/filter_helper.rb b/app/helpers/admin/filter_helper.rb
index 72f851e5a..0dfa30e56 100644
--- a/app/helpers/admin/filter_helper.rb
+++ b/app/helpers/admin/filter_helper.rb
@@ -18,14 +18,18 @@ module Admin::FilterHelper
   private
 
   def filter_params(more_params)
-    params.permit(FILTERS).merge(more_params)
+    controller_request_params.merge(more_params)
   end
 
   def filter_link_class(new_url)
-    filtered_url_for(params) == new_url ? 'selected' : ''
+    filtered_url_for(controller_request_params) == new_url ? 'selected' : ''
   end
 
-  def filtered_url_for(params)
-    url_for filter_params(params)
+  def filtered_url_for(url_params)
+    url_for filter_params(url_params)
+  end
+
+  def controller_request_params
+    params.permit(FILTERS)
   end
 end