module RoleCall::Actor

Public Instance Methods

permissions() click to toggle source
# File lib/role_call/actor.rb, line 19
def permissions
  permission_classes.map(&:key).uniq
end
permitted_to?(object) click to toggle source
# File lib/role_call/actor.rb, line 15
def permitted_to?(object)
  permissions_map.key?(object.try(:key)) || permissions_map.key?(object) || permissions.include?(object)
end
roles() click to toggle source
# File lib/role_call/actor.rb, line 23
def roles
  [ try(:role) ].compact
end

Private Instance Methods

permission_classes() click to toggle source
# File lib/role_call/actor.rb, line 29
def permission_classes
  Array.wrap(roles).map(&:permissions).flatten
end
permissions_map() click to toggle source
# File lib/role_call/actor.rb, line 33
def permissions_map
  permission_classes.index_by(&:key)
end