module PunditNamespaces
Constants
- VERSION
Public Class Methods
policy(user, record, namespace = nil)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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
Public Instance Methods
policies()
click to toggle source
# File lib/pundit_namespaces.rb, line 36 def policies @_pundit_policies ||= {} @_pundit_policies[pundit_namespace] ||= {} end
policy(record)
click to toggle source
# 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()
click to toggle source
# File lib/pundit_namespaces.rb, line 41 def policy_scopes @_pundit_policy_scopes ||= {} @_pundit_policy_scopes[pundit_namespace] ||= {} end
pundit_namespace()
click to toggle source
# File lib/pundit_namespaces.rb, line 27 def pundit_namespace end
Private Instance Methods
pundit_policy_scope(scope)
click to toggle source
# File lib/pundit_namespaces.rb, line 48 def pundit_policy_scope(scope) user = pundit_user namespace = pundit_namespace scopes = policy_scopes scopes[scope] ||= PunditNamespaces.policy_scope!(user, scope, namespace) end