module Recurso::Identity

Public Class Methods

included(base) click to toggle source
# File lib/recurso/concerns/identity.rb, line 3
def self.included(base)
  base.has_many :permissions,
    dependent: :destroy,
    class_name: Recurso::Config.instance.permission_class_name_for(base),
    foreign_key: Recurso::Config.instance.identity_foreign_key_for(base)
end

Public Instance Methods

policy(resource = self) click to toggle source
# File lib/recurso/concerns/identity.rb, line 10
def policy(resource = self)
  (resource&.policy_class || Recurso::NilClassPolicy).new(self, resource)
end
policy_class() click to toggle source
# File lib/recurso/concerns/identity.rb, line 23
def policy_class
  Recurso::BasePolicy
end
resources_with_permission(relation_name, action: :view, all_columns: true, include_actions: []) click to toggle source
# File lib/recurso/concerns/identity.rb, line 14
def resources_with_permission(relation_name, action: :view, all_columns: true, include_actions: [])
  policy(Recurso::Global.instance).resources_with_permission(
    relation_name,
    action: action,
    all_columns: all_columns,
    include_actions: include_actions
  )
end