module Authem::Controller::ClassMethods

Public Instance Methods

authem_for(role_name, options={}) click to toggle source
# File lib/authem/controller.rb, line 31
def authem_for(role_name, options={})
  include SessionManagementMethods
  Authem::Role.new(self, role_name, options).setup!
end
authem_role_for(record) click to toggle source
# File lib/authem/controller.rb, line 36
def authem_role_for(record)
  fail ArgumentError if record.nil?

  matches = authem_roles.select{ |role| record.class == role.klass }

  fail UnknownRoleError.build(record) if matches.empty?
  fail AmbigousRoleError.build(record, matches) unless matches.one?

  matches.first.name
end