]> cat aescling's git repositories - mastodon.git/commitdiff
Improve how params from controller are permitted in filter helper (#3129)
authorMatt Jankowski <mjankowski@thoughtbot.com>
Fri, 19 May 2017 09:43:20 +0000 (05:43 -0400)
committerEugen Rochko <eugen@zeonfederated.com>
Fri, 19 May 2017 09:43:20 +0000 (11:43 +0200)
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.

app/helpers/admin/filter_helper.rb

index 72f851e5a78b624b0dd17a9c54d173cbd94bad79..0dfa30e56df8171d8bb0ed629790e860c048a277 100644 (file)
@@ -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