aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/strong_parameters.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller/metal/strong_parameters.rb')
-rw-r--r--actionpack/lib/action_controller/metal/strong_parameters.rb16
1 files changed, 9 insertions, 7 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb
index 1977632c4e..e14da22e01 100644
--- a/actionpack/lib/action_controller/metal/strong_parameters.rb
+++ b/actionpack/lib/action_controller/metal/strong_parameters.rb
@@ -391,7 +391,7 @@ module ActionController
case filter
when Symbol, String
permitted_scalar_filter(params, filter)
- when Hash then
+ when Hash
hash_filter(params, filter)
end
end
@@ -549,7 +549,7 @@ module ActionController
new_instance_with_inherited_permitted_status(@parameters.select(&block))
end
- # Equivalent to Hash#keep_if, but returns nil if no changes were made.
+ # Equivalent to Hash#keep_if, but returns +nil+ if no changes were made.
def select!(&block)
@parameters.select!(&block)
self
@@ -807,11 +807,12 @@ module ActionController
def permit_any_in_parameters(params)
self.class.new.tap do |sanitized|
params.each do |key, value|
- if permitted_scalar?(value)
+ case value
+ when ->(v) { permitted_scalar?(v) }
sanitized[key] = value
- elsif value.is_a?(Array)
+ when Array
sanitized[key] = permit_any_in_array(value)
- elsif value.is_a?(Parameters)
+ when Parameters
sanitized[key] = permit_any_in_parameters(value)
else
# Filter this one out.
@@ -824,9 +825,10 @@ module ActionController
def permit_any_in_array(array)
[].tap do |sanitized|
array.each do |element|
- if permitted_scalar?(element)
+ case element
+ when ->(e) { permitted_scalar?(e) }
sanitized << element
- elsif element.is_a?(Parameters)
+ when Parameters
sanitized << permit_any_in_parameters(element)
else
# Filter this one out.