Module: PunditNamespaces
- Defined in:
- lib/pundit_namespaces.rb,
lib/pundit_namespaces/version.rb,
lib/pundit_namespaces/namespaced_policy_finder.rb
Defined Under Namespace
Classes: NamespacedPolicyFinder
Constant Summary
collapse
- VERSION =
"0.1.1"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.policy(user, record, namespace = nil) ⇒ Object
16
17
18
19
|
# File 'lib/pundit_namespaces.rb', line 16
def policy(user, record, namespace = nil)
policy = NamespacedPolicyFinder.new(record, namespace).policy
policy.new(user, record, namespace) if policy
end
|
.policy!(user, record, namespace = nil) ⇒ Object
21
22
23
24
|
# File 'lib/pundit_namespaces.rb', line 21
def policy!(user, record, namespace = nil)
policy = NamespacedPolicyFinder.new(record, namespace).policy!
policy.new(user, record, namespace)
end
|
.policy_scope(user, scope, namespace = nil) ⇒ Object
6
7
8
9
|
# File 'lib/pundit_namespaces.rb', line 6
def policy_scope(user, scope, namespace = nil)
policy_scope = NamespacedPolicyFinder.new(scope, namespace).scope
policy_scope.new(user, scope, namespace).resolve if policy_scope
end
|
.policy_scope!(user, scope, namespace = nil) ⇒ Object
11
12
13
14
|
# File 'lib/pundit_namespaces.rb', line 11
def policy_scope!(user, scope, namespace = nil)
policy_scope = NamespacedPolicyFinder.new(scope, namespace).scope!
policy_scope.new(user, scope, namespace).resolve
end
|
Instance Method Details
#policies ⇒ Object
36
37
38
39
|
# File 'lib/pundit_namespaces.rb', line 36
def policies
@_pundit_policies ||= {}
@_pundit_policies[pundit_namespace] ||= {}
end
|
#policy(record) ⇒ Object
30
31
32
33
34
|
# File 'lib/pundit_namespaces.rb', line 30
def policy(record)
user = pundit_user
namespace = pundit_namespace
policies[record] ||= PunditNamespaces.policy!(user, record, namespace)
end
|
#policy_scopes ⇒ Object
41
42
43
44
|
# File 'lib/pundit_namespaces.rb', line 41
def policy_scopes
@_pundit_policy_scopes ||= {}
@_pundit_policy_scopes[pundit_namespace] ||= {}
end
|
#pundit_namespace ⇒ Object
27
28
|
# File 'lib/pundit_namespaces.rb', line 27
def pundit_namespace
end
|