role_authorization 0.9.2 → 0.9.3
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.
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8dc19823edcfd347a5c7be4b26940b762a0f26ec
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 953fdc032983b7311a0cdfdd451c342e10126d83
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a2436729de7b0d3962e422d69da2e9e75e5aeef3fcd124486923fe93e6e4d3df8554520cfbc63b61328909acfbbd64a3c36ce3fcbde3d74355bed171530f99d0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: afa1a08c1a306b72425f9f1138624f3efc11c8d64abdb6b7a204f4bc3489183da2872a9ece9ebfc6830c1a24931efa075518dcdfeac2866337fe46888c3edadc
         
     | 
| 
         @@ -14,11 +14,24 @@ module RoleAuthorization 
     | 
|
| 
       14 
14 
     | 
    
         
             
                    @groups = Hash.new
         
     | 
| 
       15 
15 
     | 
    
         
             
                    @creations = Hash.new(Array.new)
         
     | 
| 
       16 
16 
     | 
    
         
             
                    @nicknames = Hash.new {|hash, key| key}
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @cache_user_ids = false
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
                    self
         
     | 
| 
       19 
20 
     | 
    
         
             
                  end
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
                  module InstanceMethods
         
     | 
| 
      
 23 
     | 
    
         
            +
                    def cache_user(role_name, user_id, scope)
         
     | 
| 
      
 24 
     | 
    
         
            +
                      if @cache_user_ids
         
     | 
| 
      
 25 
     | 
    
         
            +
                        role(role_name).add_user(user_id)
         
     | 
| 
      
 26 
     | 
    
         
            +
                      end
         
     | 
| 
      
 27 
     | 
    
         
            +
                    end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                    def uncache_user(role_name, user_id)
         
     | 
| 
      
 30 
     | 
    
         
            +
                      if @cache_user_ids
         
     | 
| 
      
 31 
     | 
    
         
            +
                        role(role_name).remove_user(user_id)
         
     | 
| 
      
 32 
     | 
    
         
            +
                      end
         
     | 
| 
      
 33 
     | 
    
         
            +
                    end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
       22 
35 
     | 
    
         
             
                    def role(role_name)
         
     | 
| 
       23 
36 
     | 
    
         
             
                      @_role ||= {}
         
     | 
| 
       24 
37 
     | 
    
         
             
                      @_role[role_name] ||= klass.find_by_name(role_name)
         
     | 
| 
         @@ -34,6 +47,10 @@ module RoleAuthorization 
     | 
|
| 
       34 
47 
     | 
    
         
             
                      end
         
     | 
| 
       35 
48 
     | 
    
         
             
                    end
         
     | 
| 
       36 
49 
     | 
    
         | 
| 
      
 50 
     | 
    
         
            +
                    def cache(value)
         
     | 
| 
      
 51 
     | 
    
         
            +
                      @cache_user_ids = value
         
     | 
| 
      
 52 
     | 
    
         
            +
                    end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
       37 
54 
     | 
    
         
             
                    def roles(*options)
         
     | 
| 
       38 
55 
     | 
    
         
             
                      @global_roles, @object_roles = if options.last.is_a?(Hash)
         
     | 
| 
       39 
56 
     | 
    
         
             
                                                       [options.pop, options].reverse
         
     | 
| 
         @@ -18,7 +18,11 @@ module RoleAuthorization 
     | 
|
| 
       18 
18 
     | 
    
         
             
                  module InstanceMethods
         
     | 
| 
       19 
19 
     | 
    
         
             
                    def unserialized_user_ids
         
     | 
| 
       20 
20 
     | 
    
         
             
                      result = if Rails::VERSION::MAJOR >= 4
         
     | 
| 
       21 
     | 
    
         
            -
                                 self.user_ids. 
     | 
| 
      
 21 
     | 
    
         
            +
                                 if self.user_ids.is_a?(Hash)
         
     | 
| 
      
 22 
     | 
    
         
            +
                                   self.user_ids
         
     | 
| 
      
 23 
     | 
    
         
            +
                                 else
         
     | 
| 
      
 24 
     | 
    
         
            +
                                   self.user_ids.unserialized_value
         
     | 
| 
      
 25 
     | 
    
         
            +
                                 end
         
     | 
| 
       22 
26 
     | 
    
         
             
                               else
         
     | 
| 
       23 
27 
     | 
    
         
             
                                 self.user_ids
         
     | 
| 
       24 
28 
     | 
    
         
             
                               end
         
     | 
| 
         @@ -94,7 +94,7 @@ module RoleAuthorization 
     | 
|
| 
       94 
94 
     | 
    
         
             
                    self.serialized_roles ||= Hash.new
         
     | 
| 
       95 
95 
     | 
    
         | 
| 
       96 
96 
     | 
    
         
             
                    (self.serialized_roles[:global] || []).map do |role_name|
         
     | 
| 
       97 
     | 
    
         
            -
                      RoleAuthorization::Roles.manager. 
     | 
| 
      
 97 
     | 
    
         
            +
                      RoleAuthorization::Roles.manager.uncache_user(role_name, self.id)
         
     | 
| 
       98 
98 
     | 
    
         
             
                    end
         
     | 
| 
       99 
99 
     | 
    
         
             
                    self.serialized_roles[:global] = Array.new
         
     | 
| 
       100 
100 
     | 
    
         | 
| 
         @@ -123,7 +123,7 @@ module RoleAuthorization 
     | 
|
| 
       123 
123 
     | 
    
         
             
                    end
         
     | 
| 
       124 
124 
     | 
    
         | 
| 
       125 
125 
     | 
    
         
             
                    if save(:validate => false)
         
     | 
| 
       126 
     | 
    
         
            -
                      RoleAuthorization::Roles.manager. 
     | 
| 
      
 126 
     | 
    
         
            +
                      RoleAuthorization::Roles.manager.cache_user(role_name, self.id, scope)
         
     | 
| 
       127 
127 
     | 
    
         
             
                      true
         
     | 
| 
       128 
128 
     | 
    
         
             
                    else
         
     | 
| 
       129 
129 
     | 
    
         
             
                      false
         
     | 
| 
         @@ -151,7 +151,7 @@ module RoleAuthorization 
     | 
|
| 
       151 
151 
     | 
    
         
             
                    end
         
     | 
| 
       152 
152 
     | 
    
         | 
| 
       153 
153 
     | 
    
         
             
                    if save(:validate => false)
         
     | 
| 
       154 
     | 
    
         
            -
                      RoleAuthorization::Roles.manager. 
     | 
| 
      
 154 
     | 
    
         
            +
                      RoleAuthorization::Roles.manager.uncache_user(role_name, self.id, scope)
         
     | 
| 
       155 
155 
     | 
    
         
             
                      true
         
     | 
| 
       156 
156 
     | 
    
         
             
                    else
         
     | 
| 
       157 
157 
     | 
    
         
             
                      false
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: role_authorization
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.9. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.9.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - John 'asceth' Long
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2014- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-05-14 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rspec
         
     |