File tree Expand file tree Collapse file tree 1 file changed +13
-13
lines changed
actionpack/lib/action_controller/metal Expand file tree Collapse file tree 1 file changed +13
-13
lines changed Original file line number Diff line number Diff line change @@ -566,20 +566,22 @@ def convert_value_to_parameters(value)
566
566
end
567
567
568
568
def each_element ( object )
569
- if object . is_a? ( Array )
570
- object . map { |el | yield el } . compact
571
- elsif fields_for_style? ( object )
572
- hash = object . class . new
573
- object . each { |k , v | hash [ k ] = yield v }
574
- hash
575
- else
576
- yield object
569
+ case object
570
+ when Array
571
+ object . grep ( Parameters ) . map { |el | yield el } . compact
572
+ when Parameters
573
+ if fields_for_style? ( object )
574
+ hash = object . class . new
575
+ object . each { |k , v | hash [ k ] = yield v }
576
+ hash
577
+ else
578
+ yield object
579
+ end
577
580
end
578
581
end
579
582
580
583
def fields_for_style? ( object )
581
- object . is_a? ( Parameters ) &&
582
- object . to_unsafe_h . all? { |k , v | k =~ /\A -?\d +\z / && v . is_a? ( Hash ) }
584
+ object . to_unsafe_h . all? { |k , v | k =~ /\A -?\d +\z / && v . is_a? ( Hash ) }
583
585
end
584
586
585
587
def unpermitted_parameters! ( params )
@@ -665,9 +667,7 @@ def hash_filter(params, filter)
665
667
else
666
668
# Declaration { user: :name } or { user: [:name, :age, { address: ... }] }.
667
669
params [ key ] = each_element ( value ) do |element |
668
- if element . is_a? ( Parameters )
669
- element . permit ( *Array . wrap ( filter [ key ] ) )
670
- end
670
+ element . permit ( *Array . wrap ( filter [ key ] ) )
671
671
end
672
672
end
673
673
end
You can’t perform that action at this time.
0 commit comments