id_please 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/id_please.gemspec +5 -3
- data/lib/id_please/assignment_map.rb +40 -12
- data/lib/id_please/model_extensions/for_subject.rb +31 -20
- data/test/assignment_test.rb +38 -0
- data/test/debug.log +222903 -0
- data/test/roles_test.rb +19 -9
- metadata +4 -2
    
        data/test/roles_test.rb
    CHANGED
    
    | @@ -219,6 +219,7 @@ class RolesTest < ActiveSupport::TestCase | |
| 219 219 | 
             
                    @user1 = User.create!(:name => "User1")
         | 
| 220 220 | 
             
                    @user2 = User.create!(:name => "User2")
         | 
| 221 221 | 
             
                    @user3 = User.create!(:name => "User3")
         | 
| 222 | 
            +
                    @user4 = User.create!(:name => "User4")
         | 
| 222 223 | 
             
                    @group1 = Group.create!(:name => "Group1")
         | 
| 223 224 | 
             
                    @group2 = Group.create!(:name => "Group2")
         | 
| 224 225 | 
             
                    @group3 = Group.create!(:name => "Group3")
         | 
| @@ -236,7 +237,6 @@ class RolesTest < ActiveSupport::TestCase | |
| 236 237 | 
             
                    @user1.in_group!(@group2)
         | 
| 237 238 |  | 
| 238 239 | 
             
                    assert_same_elements @user1.groups, [@group1, @group2]
         | 
| 239 | 
            -
                    assert_same_elements_in_hash @user1.groups(:result => :hash), {@group1 => [@user1], @group2 => [@user1]}
         | 
| 240 240 | 
             
                    assert_same_elements @group1.children, [@user1, @user2]
         | 
| 241 241 | 
             
                    assert_equal @group2.children, [@user1]
         | 
| 242 242 |  | 
| @@ -257,6 +257,9 @@ class RolesTest < ActiveSupport::TestCase | |
| 257 257 |  | 
| 258 258 | 
             
                      @user3.has_role!(:owner, @group4)
         | 
| 259 259 |  | 
| 260 | 
            +
                      @user4.has_role!(:owner, @group2)
         | 
| 261 | 
            +
                      
         | 
| 262 | 
            +
                      
         | 
| 260 263 | 
             
                    end
         | 
| 261 264 |  | 
| 262 265 | 
             
                    should "avoid circularity" do
         | 
| @@ -277,15 +280,22 @@ class RolesTest < ActiveSupport::TestCase | |
| 277 280 | 
             
                    end
         | 
| 278 281 |  | 
| 279 282 | 
             
                    should "handle nested groups" do
         | 
| 283 | 
            +
                      
         | 
| 280 284 | 
             
                      assert_same_elements @user1.groups(:nested => false), [@group1, @group3, @group4]
         | 
| 285 | 
            +
                    
         | 
| 281 286 | 
             
                      assert_same_elements @user1.groups, [@group1, @group2, @group3, @group4]
         | 
| 282 | 
            -
             | 
| 287 | 
            +
             | 
| 288 | 
            +
                      assert_same_elements_in_hash @user1.groups_with_assignments[:member], {@group1 => [@user1], @group2 => [@group1], @group3 => [@user1], @group4 => [@user1, @group2]}
         | 
| 289 | 
            +
             | 
| 290 | 
            +
                      assert_same_elements_in_hash @user4.groups_with_assignments[:owner], {@group2 => [@user4]}
         | 
| 291 | 
            +
             | 
| 292 | 
            +
             | 
| 283 293 |  | 
| 284 294 | 
             
                      assert_same_elements @user2.groups, [@group2, @group4]
         | 
| 285 295 |  | 
| 286 | 
            -
                      assert_same_elements @group4.children, [@group2, @group1, @user1, @user2, @user3]
         | 
| 287 | 
            -
                      assert_same_elements @group2.children, [@group1, @user1, @user2]
         | 
| 288 | 
            -
                      assert_same_elements @group2.children(:nested => false), [@group1, @user2]
         | 
| 296 | 
            +
                      assert_same_elements @group4.children, [@group2, @group1, @user1, @user2, @user3, @user4]
         | 
| 297 | 
            +
                      assert_same_elements @group2.children, [@group1, @user1, @user2, @user4]
         | 
| 298 | 
            +
                      assert_same_elements @group2.children(:nested => false), [@group1, @user2, @user4]
         | 
| 289 299 |  | 
| 290 300 | 
             
                      assert @group4.accepts_role?(:member, @user1)
         | 
| 291 301 | 
             
                      assert @group2.accepts_role?(:member, @user1)
         | 
| @@ -296,7 +306,7 @@ class RolesTest < ActiveSupport::TestCase | |
| 296 306 | 
             
                    end
         | 
| 297 307 |  | 
| 298 308 | 
             
                    should "be able to display hashes of subject permissions" do
         | 
| 299 | 
            -
                      assert_equal @group4.children(:view => :subject_hash), {@group2 => [:member], @group1 => [:member], @user1 => [:member], @user2 => [:member], @user3 => [:owner]}
         | 
| 309 | 
            +
                      assert_equal @group4.children(:view => :subject_hash), {@group2 => [:member], @group1 => [:member], @user1 => [:member], @user2 => [:member], @user3 => [:owner], @user4 => [:owner]}
         | 
| 300 310 | 
             
                    end
         | 
| 301 311 |  | 
| 302 312 | 
             
                    should "display a list of roles, or a hash of roles to users" do
         | 
| @@ -304,12 +314,12 @@ class RolesTest < ActiveSupport::TestCase | |
| 304 314 |  | 
| 305 315 | 
             
                      role_hash =  @group4.children(:view => :role_hash)
         | 
| 306 316 | 
             
                      assert_same_elements role_hash[:member], [@group1, @group2, @user1, @user2] 
         | 
| 307 | 
            -
                      assert_same_elements role_hash[:owner], [@user3] 
         | 
| 317 | 
            +
                      assert_same_elements role_hash[:owner], [@user3, @user4] 
         | 
| 308 318 | 
             
                    end
         | 
| 309 319 |  | 
| 310 320 | 
             
                    should "display a hash of roles to users with the relevant groups attached" do
         | 
| 311 321 | 
             
                      role_with_assignments = @group4.children(:view => :role_with_assignments)
         | 
| 312 | 
            -
                      assert_equal role_with_assignments[:owner], {@user3 => [@group4]}
         | 
| 322 | 
            +
                      assert_equal role_with_assignments[:owner], {@user3 => [@group4], @user4 => [@group2]}
         | 
| 313 323 | 
             
                      assert_same_elements role_with_assignments[:member].keys, [@user1, @user2, @group1, @group2] 
         | 
| 314 324 | 
             
                      assert_same_elements_in_hash role_with_assignments[:member], {@group2 => [@group4], @group1 => [@group2], @user1 => [@group1, @group4], @user2 => [@group2]}
         | 
| 315 325 |  | 
| @@ -328,7 +338,7 @@ class RolesTest < ActiveSupport::TestCase | |
| 328 338 | 
             
                      assert_false @user1.has_role?(:owner, @foo, :check_groups => false)
         | 
| 329 339 |  | 
| 330 340 |  | 
| 331 | 
            -
                      assert_same_elements @foo.list_owners, [@group2, @group1, @user1, @user2]
         | 
| 341 | 
            +
                      assert_same_elements @foo.list_owners, [@group2, @group1, @user1, @user2, @user4]
         | 
| 332 342 | 
             
                      assert_same_elements @foo.list_owners(:check_groups => false), [@group2]
         | 
| 333 343 |  | 
| 334 344 | 
             
                      assert @foo.accepts_role?(:owner, @user1)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: id_please
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.8.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - James Stuart
         | 
| @@ -9,7 +9,7 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date: 2010-03- | 
| 12 | 
            +
            date: 2010-03-16 00:00:00 -04:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies: 
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -80,6 +80,7 @@ files: | |
| 80 80 | 
             
            - lib/id_please/model_extensions/for_role.rb
         | 
| 81 81 | 
             
            - lib/id_please/model_extensions/for_subject.rb
         | 
| 82 82 | 
             
            - lib/id_please/model_extensions/for_user.rb
         | 
| 83 | 
            +
            - test/assignment_test.rb
         | 
| 83 84 | 
             
            - test/database.yml
         | 
| 84 85 | 
             
            - test/debug.log
         | 
| 85 86 | 
             
            - test/id_please_test.rb
         | 
| @@ -116,6 +117,7 @@ signing_key: | |
| 116 117 | 
             
            specification_version: 3
         | 
| 117 118 | 
             
            summary: Access control gem for rails
         | 
| 118 119 | 
             
            test_files: 
         | 
| 120 | 
            +
            - test/assignment_test.rb
         | 
| 119 121 | 
             
            - test/id_please_test.rb
         | 
| 120 122 | 
             
            - test/roles_test.rb
         | 
| 121 123 | 
             
            - test/support/models.rb
         |