zuul 0.2.1 → 0.2.2

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.
@@ -62,10 +62,35 @@ module Zuul
62
62
  #
63
63
  # The args parameter is an optional hash of configuration options.
64
64
  def acts_as_authorization_context(args={}, &block)
65
- acts_as_authorization_model(args, &block)
65
+ scope = acts_as_authorization_model(args, &block)
66
+ prepare_join_classes scope.name
66
67
  include Context
67
68
  end
68
69
 
70
+ # Configure the model to act as a zuul joining model for roles and subjects
71
+ #
72
+ # The args parameter is an optional hash of configuration options.
73
+ def acts_as_authorization_permission_role(args={}, &block)
74
+ scope = acts_as_authorization_model(args.merge({:permission_role_class => self.name}), &block)
75
+ include PermissionRole
76
+ end
77
+
78
+ # Configure the model to act as a zuul joining model for roles and subjects
79
+ #
80
+ # The args parameter is an optional hash of configuration options.
81
+ def acts_as_authorization_permission_subject(args={}, &block)
82
+ scope = acts_as_authorization_model(args.merge({:permission_subject_class => self.name}), &block)
83
+ include PermissionSubject
84
+ end
85
+
86
+ # Configure the model to act as a zuul joining model for roles and subjects
87
+ #
88
+ # The args parameter is an optional hash of configuration options.
89
+ def acts_as_authorization_role_subject(args={}, &block)
90
+ scope = acts_as_authorization_model(args.merge({:role_subject_class => self.name}), &block)
91
+ include RoleSubject
92
+ end
93
+
69
94
  # Sets up the join models for a newly defined scope.
70
95
  #
71
96
  # This is similar the the acts_as_authorization_* methods, but it handles all the joining models for a scope.
@@ -74,22 +99,19 @@ module Zuul
74
99
 
75
100
  unless auth_scope(scope).role_subject_class.ancestors.include?(RoleSubject)
76
101
  auth_scope(scope).role_subject_class.instance_eval do
77
- acts_as_authorization_model(scope_config.to_h)
78
- include RoleSubject
102
+ acts_as_authorization_role_subject(scope_config.to_h)
79
103
  end
80
104
  end
81
105
 
82
106
  if auth_scope(scope).config.with_permissions
83
107
  unless auth_scope(scope).permission_subject_class.ancestors.include?(PermissionSubject)
84
108
  auth_scope(scope).permission_subject_class.instance_eval do
85
- acts_as_authorization_model(scope_config.to_h)
86
- include PermissionSubject
109
+ acts_as_authorization_permission_subject(scope_config.to_h)
87
110
  end
88
111
  end
89
112
  unless auth_scope(scope).permission_role_class.ancestors.include?(PermissionRole)
90
113
  auth_scope(scope).permission_role_class.instance_eval do
91
- acts_as_authorization_model(scope_config.to_h)
92
- include PermissionRole
114
+ acts_as_authorization_permission_role(scope_config.to_h)
93
115
  end
94
116
  end
95
117
  end
data/lib/zuul/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Zuul
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuul
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-19 00:00:00.000000000 Z
12
+ date: 2013-04-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -99,62 +99,62 @@ executables: []
99
99
  extensions: []
100
100
  extra_rdoc_files: []
101
101
  files:
102
+ - lib/zuul.rb
102
103
  - lib/tasks/zuul.rake
103
104
  - lib/zuul_viz.rb
105
+ - lib/generators/zuul/permission_generator.rb
106
+ - lib/generators/zuul/role_generator.rb
107
+ - lib/generators/zuul/permission_subject_generator.rb
108
+ - lib/generators/zuul/orm_helpers.rb
109
+ - lib/generators/zuul/role_subject_generator.rb
110
+ - lib/generators/zuul/templates/permission_subject_existing.rb
111
+ - lib/generators/zuul/templates/permission_role.rb
112
+ - lib/generators/zuul/templates/role_subject_existing.rb
113
+ - lib/generators/zuul/templates/permission_subject.rb
114
+ - lib/generators/zuul/templates/permission.rb
115
+ - lib/generators/zuul/templates/permission_role_existing.rb
116
+ - lib/generators/zuul/templates/permission_existing.rb
117
+ - lib/generators/zuul/templates/role_existing.rb
118
+ - lib/generators/zuul/templates/role_subject.rb
119
+ - lib/generators/zuul/templates/role.rb
120
+ - lib/generators/zuul/permission_role_generator.rb
121
+ - lib/generators/zuul/subject_generator.rb
122
+ - lib/zuul/context.rb
123
+ - lib/zuul/exceptions/invalid_context.rb
124
+ - lib/zuul/exceptions/undefined_scope.rb
125
+ - lib/zuul/exceptions/access_denied.rb
126
+ - lib/zuul/active_record.rb
127
+ - lib/zuul/action_controller.rb
104
128
  - lib/zuul/action_controller/evaluators.rb
105
129
  - lib/zuul/action_controller/dsl.rb
106
- - lib/zuul/active_record/scope.rb
107
- - lib/zuul/active_record/role.rb
108
- - lib/zuul/active_record/permission_role.rb
130
+ - lib/zuul/railtie.rb
131
+ - lib/zuul/configuration.rb
132
+ - lib/zuul/exceptions.rb
109
133
  - lib/zuul/active_record/context.rb
134
+ - lib/zuul/active_record/permission_role.rb
135
+ - lib/zuul/active_record/permission_subject.rb
136
+ - lib/zuul/active_record/scope.rb
110
137
  - lib/zuul/active_record/permission.rb
111
138
  - lib/zuul/active_record/subject.rb
112
139
  - lib/zuul/active_record/role_subject.rb
113
- - lib/zuul/active_record/permission_subject.rb
114
- - lib/zuul/active_record.rb
115
- - lib/zuul/railtie.rb
116
- - lib/zuul/action_controller.rb
117
- - lib/zuul/configuration.rb
140
+ - lib/zuul/active_record/role.rb
118
141
  - lib/zuul/version.rb
119
- - lib/zuul/context.rb
120
- - lib/zuul/exceptions.rb
121
- - lib/zuul/exceptions/undefined_scope.rb
122
- - lib/zuul/exceptions/access_denied.rb
123
- - lib/zuul/exceptions/invalid_context.rb
124
- - lib/generators/zuul/permission_subject_generator.rb
125
- - lib/generators/zuul/role_subject_generator.rb
126
- - lib/generators/zuul/subject_generator.rb
127
- - lib/generators/zuul/role_generator.rb
128
- - lib/generators/zuul/permission_generator.rb
129
- - lib/generators/zuul/templates/role_subject_existing.rb
130
- - lib/generators/zuul/templates/role.rb
131
- - lib/generators/zuul/templates/permission_role.rb
132
- - lib/generators/zuul/templates/permission_subject_existing.rb
133
- - lib/generators/zuul/templates/permission_existing.rb
134
- - lib/generators/zuul/templates/permission.rb
135
- - lib/generators/zuul/templates/role_subject.rb
136
- - lib/generators/zuul/templates/role_existing.rb
137
- - lib/generators/zuul/templates/permission_role_existing.rb
138
- - lib/generators/zuul/templates/permission_subject.rb
139
- - lib/generators/zuul/orm_helpers.rb
140
- - lib/generators/zuul/permission_role_generator.rb
141
- - lib/zuul.rb
142
142
  - spec/db/schema.rb
143
143
  - spec/zuul_spec.rb
144
- - spec/spec_helper.rb
145
144
  - spec/support/models.rb
146
145
  - spec/support/capture_stdout.rb
147
146
  - spec/zuul/configuration_spec.rb
148
- - spec/zuul/active_record/role_spec.rb
149
- - spec/zuul/active_record/subject_spec.rb
150
- - spec/zuul/active_record/scope_spec.rb
147
+ - spec/zuul/active_record_spec.rb
148
+ - spec/zuul/context_spec.rb
151
149
  - spec/zuul/active_record/permission_spec.rb
152
- - spec/zuul/active_record/context_spec.rb
150
+ - spec/zuul/active_record/role_spec.rb
153
151
  - spec/zuul/active_record/role_subject_spec.rb
152
+ - spec/zuul/active_record/subject_spec.rb
154
153
  - spec/zuul/active_record/permission_role_spec.rb
155
154
  - spec/zuul/active_record/permission_subject_spec.rb
156
- - spec/zuul/context_spec.rb
157
- - spec/zuul/active_record_spec.rb
155
+ - spec/zuul/active_record/context_spec.rb
156
+ - spec/zuul/active_record/scope_spec.rb
157
+ - spec/spec_helper.rb
158
158
  homepage: http://github.com/markrebec/zuul
159
159
  licenses: []
160
160
  post_install_message:
@@ -182,17 +182,17 @@ summary: Authorizaion and ACL for Activerecord and ActionController.
182
182
  test_files:
183
183
  - spec/db/schema.rb
184
184
  - spec/zuul_spec.rb
185
- - spec/spec_helper.rb
186
185
  - spec/support/models.rb
187
186
  - spec/support/capture_stdout.rb
188
187
  - spec/zuul/configuration_spec.rb
189
- - spec/zuul/active_record/role_spec.rb
190
- - spec/zuul/active_record/subject_spec.rb
191
- - spec/zuul/active_record/scope_spec.rb
188
+ - spec/zuul/active_record_spec.rb
189
+ - spec/zuul/context_spec.rb
192
190
  - spec/zuul/active_record/permission_spec.rb
193
- - spec/zuul/active_record/context_spec.rb
191
+ - spec/zuul/active_record/role_spec.rb
194
192
  - spec/zuul/active_record/role_subject_spec.rb
193
+ - spec/zuul/active_record/subject_spec.rb
195
194
  - spec/zuul/active_record/permission_role_spec.rb
196
195
  - spec/zuul/active_record/permission_subject_spec.rb
197
- - spec/zuul/context_spec.rb
198
- - spec/zuul/active_record_spec.rb
196
+ - spec/zuul/active_record/context_spec.rb
197
+ - spec/zuul/active_record/scope_spec.rb
198
+ - spec/spec_helper.rb