diff options
author | Dana Sherson <robot@dana.sh> | 2019-06-05 17:25:18 +1000 |
---|---|---|
committer | Dana Sherson <robot@dana.sh> | 2019-06-05 18:18:17 +1000 |
commit | c8847c17a7c9ae75c44c522c56ccd9c5fca25ea7 (patch) | |
tree | 057901f401f10fb98615b9bca73c88d110c13fba /actionpack/test/controller/parameters | |
parent | ee10e05af27facf42b1c49f8aaa0463d3af6989c (diff) | |
download | rails-c8847c17a7c9ae75c44c522c56ccd9c5fca25ea7.tar.gz rails-c8847c17a7c9ae75c44c522c56ccd9c5fca25ea7.tar.bz2 rails-c8847c17a7c9ae75c44c522c56ccd9c5fca25ea7.zip |
Add compact_blank shortcut for reject(&:blank?)
I frequently find myself having to .compact but for blank. which means
on an array reject(&:blank?) (this is fine), or,
on a hash `.reject { |_k, v| v.blank? }` which is slightly more
frustrating and i usually write it as .reject(&:blank?) first and am
confused when it's trying to check if the keys are blank.
I've added the analagous .compact_blank! where there's a reject! to
build on (there's also a reject! in Set, but there's no other core_ext
touching Set so i've left that alone)
Diffstat (limited to 'actionpack/test/controller/parameters')
-rw-r--r-- | actionpack/test/controller/parameters/mutators_test.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/actionpack/test/controller/parameters/mutators_test.rb b/actionpack/test/controller/parameters/mutators_test.rb index 31ee7964f5..ffffd2996f 100644 --- a/actionpack/test/controller/parameters/mutators_test.rb +++ b/actionpack/test/controller/parameters/mutators_test.rb @@ -127,4 +127,22 @@ class ParametersMutatorsTest < ActiveSupport::TestCase test "deep_transform_keys! retains unpermitted status" do assert_not_predicate @params.deep_transform_keys! { |k| k }, :permitted? end + + test "compact_blank retains permitted status" do + @params.permit! + assert_predicate @params.compact_blank, :permitted? + end + + test "compact_blank retains unpermitted status" do + assert_not_predicate @params.compact_blank, :permitted? + end + + test "compact_blank! retains permitted status" do + @params.permit! + assert_predicate @params.compact_blank!, :permitted? + end + + test "compact_blank! retains unpermitted status" do + assert_not_predicate @params.compact_blank!, :permitted? + end end |