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.0"
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) if policy
end
|
.policy!(user, record, namespace = nil) ⇒ Object
21
22
23
|
# File 'lib/pundit_namespaces.rb', line 21
def policy!(user, record, namespace = nil)
NamespacedPolicyFinder.new(record, namespace).policy!.new(user, record)
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).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).resolve
end
|
Instance Method Details
#policies ⇒ Object
35
36
37
38
|
# File 'lib/pundit_namespaces.rb', line 35
def policies
@_pundit_policies ||= {}
@_pundit_policies[pundit_namespace] ||= {}
end
|
#policy(record) ⇒ Object
29
30
31
32
33
|
# File 'lib/pundit_namespaces.rb', line 29
def policy(record)
user = pundit_user
namespace = pundit_namespace
policies[record] ||= PunditNamespaces.policy!(user, record, namespace)
end
|
#policy_scopes ⇒ Object
40
41
42
43
|
# File 'lib/pundit_namespaces.rb', line 40
def policy_scopes
@_pundit_policy_scopes ||= {}
@_pundit_policy_scopes[pundit_namespace] ||= {}
end
|
#pundit_namespace ⇒ Object
26
27
|
# File 'lib/pundit_namespaces.rb', line 26
def pundit_namespace
end
|