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