diff options
author | Nikita Pomyashchiy <pomnikita@gmail.com> | 2012-06-08 01:00:34 +0400 |
---|---|---|
committer | Nikita Pomyashchiy <pomnikita@gmail.com> | 2012-06-08 01:00:34 +0400 |
commit | 00ff0a6776aca4977dc6eab5ec130c67e36c36ac (patch) | |
tree | 84c8d16621c40b3791a25ae0368583204f7a47a4 | |
parent | e638c613d0ecfa44ddc3d328c0979318cf73e33e (diff) | |
download | rails-00ff0a6776aca4977dc6eab5ec130c67e36c36ac.tar.gz rails-00ff0a6776aca4977dc6eab5ec130c67e36c36ac.tar.bz2 rails-00ff0a6776aca4977dc6eab5ec130c67e36c36ac.zip |
Compact array of values added to PermissionSet instance
-rw-r--r-- | activemodel/lib/active_model/mass_assignment_security/permission_set.rb | 2 | ||||
-rw-r--r-- | activemodel/test/cases/mass_assignment_security/permission_set_test.rb | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/activemodel/lib/active_model/mass_assignment_security/permission_set.rb b/activemodel/lib/active_model/mass_assignment_security/permission_set.rb index 9661349503..415ab0ad17 100644 --- a/activemodel/lib/active_model/mass_assignment_security/permission_set.rb +++ b/activemodel/lib/active_model/mass_assignment_security/permission_set.rb @@ -5,7 +5,7 @@ module ActiveModel class PermissionSet < Set def +(values) - super(values.map(&:to_s)) + super(values.compact.map(&:to_s)) end def include?(key) diff --git a/activemodel/test/cases/mass_assignment_security/permission_set_test.rb b/activemodel/test/cases/mass_assignment_security/permission_set_test.rb index d005b638e4..8082c49852 100644 --- a/activemodel/test/cases/mass_assignment_security/permission_set_test.rb +++ b/activemodel/test/cases/mass_assignment_security/permission_set_test.rb @@ -13,6 +13,12 @@ class PermissionSetTest < ActiveModel::TestCase assert new_list.include?('admin'), "did not add collection to #{@permission_list.inspect}}" end + test "+ compacts added collection values" do + added_collection = [ nil ] + new_list = @permission_list + added_collection + assert_equal new_list, @permission_list, "did not add collection to #{@permission_list.inspect}}" + end + test "include? normalizes multi-parameter keys" do multi_param_key = 'admin(1)' new_list = @permission_list += [ 'admin' ] |