roles_generic 0.1.1 → 0.2.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/README.markdown +63 -207
 - data/Rakefile +6 -4
 - data/VERSION +1 -1
 - data/lib/generators/roles_model/roles/roles_generator.rb +4 -2
 - data/lib/roles_generic/base.rb +11 -15
 - data/lib/roles_generic/generic/role.rb +18 -0
 - data/lib/roles_generic/generic/{class_methods.rb → user/class_methods.rb} +2 -3
 - data/lib/roles_generic/generic/{util.rb → user/configuration.rb} +6 -6
 - data/lib/roles_generic/generic/{implementation.rb → user/implementation.rb} +1 -1
 - data/lib/roles_generic/generic/user.rb +22 -0
 - data/lib/roles_generic/generic.rb +3 -68
 - data/lib/roles_generic/namespaces.rb +13 -0
 - data/lib/roles_generic/{many_roles.rb → strategy/multi/many_roles.rb} +3 -4
 - data/lib/roles_generic/{role_strings.rb → strategy/multi/role_strings.rb} +9 -3
 - data/lib/roles_generic/{roles_mask.rb → strategy/multi/roles_mask.rb} +2 -2
 - data/lib/roles_generic/{roles_string.rb → strategy/multi/roles_string.rb} +2 -4
 - data/lib/roles_generic/{admin_flag.rb → strategy/single/admin_flag.rb} +2 -2
 - data/lib/roles_generic/{one_role.rb → strategy/single/one_role.rb} +3 -4
 - data/lib/roles_generic/{role_string.rb → strategy/single/role_string.rb} +2 -2
 - data/lib/roles_generic/strategy.rb +26 -0
 - data/lib/roles_generic.rb +8 -1
 - data/roles_generic.gemspec +124 -0
 - data/spec/generators/admin_flag_generator_spec.rb +2 -2
 - data/spec/generators/many_roles_generator_spec.rb +1 -1
 - data/spec/generators/one_role_generator_spec.rb +1 -1
 - data/spec/generators/role_string_generator_spec.rb +1 -1
 - data/spec/generators/role_strings_generator_spec.rb +1 -1
 - data/spec/generators/roles_mask_generator_spec.rb +1 -1
 - data/spec/generators/roles_string_generator_spec.rb +1 -1
 - data/spec/roles_generic/admin_flag_spec.rb +3 -3
 - data/spec/roles_generic/many_roles_spec.rb +4 -3
 - data/spec/roles_generic/one_role_spec.rb +4 -3
 - data/spec/roles_generic/role_string_spec.rb +3 -3
 - data/spec/roles_generic/role_strings_spec.rb +3 -3
 - data/spec/roles_generic/roles_mask_spec.rb +3 -3
 - data/spec/roles_generic/roles_string_spec.rb +3 -3
 - data/spec/spec_helper.rb +1 -1
 - data/wiki/strategies/admin_flag.textile +20 -0
 - data/wiki/strategies/many_roles.textile +48 -0
 - data/wiki/strategies/one_role.textile +40 -0
 - data/wiki/strategies/role_string.textile +20 -0
 - data/wiki/strategies/role_strings.textile +20 -0
 - data/wiki/strategies/roles_mask.textile +20 -0
 - data/wiki/strategies/roles_string.textile +20 -0
 - metadata +61 -22
 - data/lib/roles_generic/extensions/core_ext.rb +0 -19
 - data/lib/roles_generic/role/class_methods.rb +0 -20
 
    
        metadata
    CHANGED
    
    | 
         @@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       4 
4 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
     | 
    
         
            -
              -  
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 7 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 8 
     | 
    
         
            +
              - 0
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.2.0
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Kristian Mandrup
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2010- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-09-04 00:00:00 +02:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -23,7 +23,7 @@ dependencies: 
     | 
|
| 
       23 
23 
     | 
    
         
             
              requirement: &id001 !ruby/object:Gem::Requirement 
         
     | 
| 
       24 
24 
     | 
    
         
             
                none: false
         
     | 
| 
       25 
25 
     | 
    
         
             
                requirements: 
         
     | 
| 
       26 
     | 
    
         
            -
                - -  
     | 
| 
      
 26 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       27 
27 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       28 
28 
     | 
    
         
             
                    segments: 
         
     | 
| 
       29 
29 
     | 
    
         
             
                    - 2
         
     | 
| 
         @@ -40,7 +40,7 @@ dependencies: 
     | 
|
| 
       40 
40 
     | 
    
         
             
              requirement: &id002 !ruby/object:Gem::Requirement 
         
     | 
| 
       41 
41 
     | 
    
         
             
                none: false
         
     | 
| 
       42 
42 
     | 
    
         
             
                requirements: 
         
     | 
| 
       43 
     | 
    
         
            -
                - -  
     | 
| 
      
 43 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       44 
44 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       45 
45 
     | 
    
         
             
                    segments: 
         
     | 
| 
       46 
46 
     | 
    
         
             
                    - 0
         
     | 
| 
         @@ -55,7 +55,7 @@ dependencies: 
     | 
|
| 
       55 
55 
     | 
    
         
             
              requirement: &id003 !ruby/object:Gem::Requirement 
         
     | 
| 
       56 
56 
     | 
    
         
             
                none: false
         
     | 
| 
       57 
57 
     | 
    
         
             
                requirements: 
         
     | 
| 
       58 
     | 
    
         
            -
                - -  
     | 
| 
      
 58 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       59 
59 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       60 
60 
     | 
    
         
             
                    segments: 
         
     | 
| 
       61 
61 
     | 
    
         
             
                    - 1
         
     | 
| 
         @@ -70,16 +70,45 @@ dependencies: 
     | 
|
| 
       70 
70 
     | 
    
         
             
              requirement: &id004 !ruby/object:Gem::Requirement 
         
     | 
| 
       71 
71 
     | 
    
         
             
                none: false
         
     | 
| 
       72 
72 
     | 
    
         
             
                requirements: 
         
     | 
| 
       73 
     | 
    
         
            -
                - -  
     | 
| 
      
 73 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       74 
74 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       75 
75 
     | 
    
         
             
                    segments: 
         
     | 
| 
       76 
76 
     | 
    
         
             
                    - 3
         
     | 
| 
       77 
77 
     | 
    
         
             
                    - 0
         
     | 
| 
       78 
78 
     | 
    
         
             
                    - 0
         
     | 
| 
       79 
     | 
    
         
            -
                     
     | 
| 
       80 
     | 
    
         
            -
                    version: 3.0.0.rc
         
     | 
| 
      
 79 
     | 
    
         
            +
                    version: 3.0.0
         
     | 
| 
       81 
80 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       82 
81 
     | 
    
         
             
              version_requirements: *id004
         
     | 
| 
      
 82 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 83 
     | 
    
         
            +
              name: sugar-high
         
     | 
| 
      
 84 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 85 
     | 
    
         
            +
              requirement: &id005 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 86 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 87 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 88 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 89 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 90 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 91 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 92 
     | 
    
         
            +
                    - 2
         
     | 
| 
      
 93 
     | 
    
         
            +
                    - 2
         
     | 
| 
      
 94 
     | 
    
         
            +
                    version: 0.2.2
         
     | 
| 
      
 95 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 96 
     | 
    
         
            +
              version_requirements: *id005
         
     | 
| 
      
 97 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 98 
     | 
    
         
            +
              name: rails3_artifactor
         
     | 
| 
      
 99 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 100 
     | 
    
         
            +
              requirement: &id006 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 101 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 102 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 103 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 104 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 105 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 106 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 107 
     | 
    
         
            +
                    - 1
         
     | 
| 
      
 108 
     | 
    
         
            +
                    - 1
         
     | 
| 
      
 109 
     | 
    
         
            +
                    version: 0.1.1
         
     | 
| 
      
 110 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 111 
     | 
    
         
            +
              version_requirements: *id006
         
     | 
| 
       83 
112 
     | 
    
         
             
            description: Generic role strategies sharing the same API. Easy to insert in any model
         
     | 
| 
       84 
113 
     | 
    
         
             
            email: kmandrup@gmail.com
         
     | 
| 
       85 
114 
     | 
    
         
             
            executables: []
         
     | 
| 
         @@ -99,20 +128,23 @@ files: 
     | 
|
| 
       99 
128 
     | 
    
         
             
            - VERSION
         
     | 
| 
       100 
129 
     | 
    
         
             
            - lib/generators/roles_model/roles/roles_generator.rb
         
     | 
| 
       101 
130 
     | 
    
         
             
            - lib/roles_generic.rb
         
     | 
| 
       102 
     | 
    
         
            -
            - lib/roles_generic/admin_flag.rb
         
     | 
| 
       103 
131 
     | 
    
         
             
            - lib/roles_generic/base.rb
         
     | 
| 
       104 
     | 
    
         
            -
            - lib/roles_generic/extensions/core_ext.rb
         
     | 
| 
       105 
132 
     | 
    
         
             
            - lib/roles_generic/generic.rb
         
     | 
| 
       106 
     | 
    
         
            -
            - lib/roles_generic/generic/ 
     | 
| 
       107 
     | 
    
         
            -
            - lib/roles_generic/generic/ 
     | 
| 
       108 
     | 
    
         
            -
            - lib/roles_generic/generic/ 
     | 
| 
       109 
     | 
    
         
            -
            - lib/roles_generic/ 
     | 
| 
       110 
     | 
    
         
            -
            - lib/roles_generic/ 
     | 
| 
       111 
     | 
    
         
            -
            - lib/roles_generic/ 
     | 
| 
       112 
     | 
    
         
            -
            - lib/roles_generic/ 
     | 
| 
       113 
     | 
    
         
            -
            - lib/roles_generic/ 
     | 
| 
       114 
     | 
    
         
            -
            - lib/roles_generic/ 
     | 
| 
       115 
     | 
    
         
            -
            - lib/roles_generic/ 
     | 
| 
      
 133 
     | 
    
         
            +
            - lib/roles_generic/generic/role.rb
         
     | 
| 
      
 134 
     | 
    
         
            +
            - lib/roles_generic/generic/user.rb
         
     | 
| 
      
 135 
     | 
    
         
            +
            - lib/roles_generic/generic/user/class_methods.rb
         
     | 
| 
      
 136 
     | 
    
         
            +
            - lib/roles_generic/generic/user/configuration.rb
         
     | 
| 
      
 137 
     | 
    
         
            +
            - lib/roles_generic/generic/user/implementation.rb
         
     | 
| 
      
 138 
     | 
    
         
            +
            - lib/roles_generic/namespaces.rb
         
     | 
| 
      
 139 
     | 
    
         
            +
            - lib/roles_generic/strategy.rb
         
     | 
| 
      
 140 
     | 
    
         
            +
            - lib/roles_generic/strategy/multi/many_roles.rb
         
     | 
| 
      
 141 
     | 
    
         
            +
            - lib/roles_generic/strategy/multi/role_strings.rb
         
     | 
| 
      
 142 
     | 
    
         
            +
            - lib/roles_generic/strategy/multi/roles_mask.rb
         
     | 
| 
      
 143 
     | 
    
         
            +
            - lib/roles_generic/strategy/multi/roles_string.rb
         
     | 
| 
      
 144 
     | 
    
         
            +
            - lib/roles_generic/strategy/single/admin_flag.rb
         
     | 
| 
      
 145 
     | 
    
         
            +
            - lib/roles_generic/strategy/single/one_role.rb
         
     | 
| 
      
 146 
     | 
    
         
            +
            - lib/roles_generic/strategy/single/role_string.rb
         
     | 
| 
      
 147 
     | 
    
         
            +
            - roles_generic.gemspec
         
     | 
| 
       116 
148 
     | 
    
         
             
            - spec/generator_spec_helper.rb
         
     | 
| 
       117 
149 
     | 
    
         
             
            - spec/generators/admin_flag_generator_spec.rb
         
     | 
| 
       118 
150 
     | 
    
         
             
            - spec/generators/many_roles_generator_spec.rb
         
     | 
| 
         @@ -130,6 +162,13 @@ files: 
     | 
|
| 
       130 
162 
     | 
    
         
             
            - spec/roles_generic/roles_mask_spec.rb
         
     | 
| 
       131 
163 
     | 
    
         
             
            - spec/roles_generic/roles_string_spec.rb
         
     | 
| 
       132 
164 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
      
 165 
     | 
    
         
            +
            - wiki/strategies/admin_flag.textile
         
     | 
| 
      
 166 
     | 
    
         
            +
            - wiki/strategies/many_roles.textile
         
     | 
| 
      
 167 
     | 
    
         
            +
            - wiki/strategies/one_role.textile
         
     | 
| 
      
 168 
     | 
    
         
            +
            - wiki/strategies/role_string.textile
         
     | 
| 
      
 169 
     | 
    
         
            +
            - wiki/strategies/role_strings.textile
         
     | 
| 
      
 170 
     | 
    
         
            +
            - wiki/strategies/roles_mask.textile
         
     | 
| 
      
 171 
     | 
    
         
            +
            - wiki/strategies/roles_string.textile
         
     | 
| 
       133 
172 
     | 
    
         
             
            has_rdoc: true
         
     | 
| 
       134 
173 
     | 
    
         
             
            homepage: http://github.com/kristianmandrup/roles_for_mm
         
     | 
| 
       135 
174 
     | 
    
         
             
            licenses: []
         
     | 
| 
         @@ -1,19 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # to be replaced by Zucker gem
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            class Object
         
     | 
| 
       4 
     | 
    
         
            -
              define_method :not do
         
     | 
| 
       5 
     | 
    
         
            -
                Not.new(self)
         
     | 
| 
       6 
     | 
    
         
            -
              end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              class Not
         
     | 
| 
       9 
     | 
    
         
            -
                private *instance_methods.select { |m| m !~ /(^__|^\W|^binding$)/ }
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                def initialize(subject)
         
     | 
| 
       12 
     | 
    
         
            -
                  @subject = subject
         
     | 
| 
       13 
     | 
    
         
            -
                end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                def method_missing(sym, *args, &blk)
         
     | 
| 
       16 
     | 
    
         
            -
                  !@subject.send(sym,*args,&blk)
         
     | 
| 
       17 
     | 
    
         
            -
                end
         
     | 
| 
       18 
     | 
    
         
            -
              end
         
     | 
| 
       19 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module RoleModels::Generic::Base
         
     | 
| 
       2 
     | 
    
         
            -
              module RoleClass
         
     | 
| 
       3 
     | 
    
         
            -
                module InstanceMethods
         
     | 
| 
       4 
     | 
    
         
            -
                  def role_class
         
     | 
| 
       5 
     | 
    
         
            -
                    self.class.role_class_name
         
     | 
| 
       6 
     | 
    
         
            -
                  end      
         
     | 
| 
       7 
     | 
    
         
            -
                end
         
     | 
| 
       8 
     | 
    
         
            -
              
         
     | 
| 
       9 
     | 
    
         
            -
                module ClassMethods 
         
     | 
| 
       10 
     | 
    
         
            -
                  def role_class_name
         
     | 
| 
       11 
     | 
    
         
            -
                    @role_class_name          
         
     | 
| 
       12 
     | 
    
         
            -
                  end
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                  def role_class class_constant
         
     | 
| 
       15 
     | 
    
         
            -
                    const = class_constant.to_s.camelize
         
     | 
| 
       16 
     | 
    
         
            -
                    @role_class_name = "#{const}".constantize
         
     | 
| 
       17 
     | 
    
         
            -
                  end
         
     | 
| 
       18 
     | 
    
         
            -
                end    
         
     | 
| 
       19 
     | 
    
         
            -
              end
         
     | 
| 
       20 
     | 
    
         
            -
            end
         
     |