Sha256: f8b5cf1e88475127d32277931751fbbd66cf103fb23953cf04675b9d6c2b9723
Contents?: true
Size: 717 Bytes
Versions: 5
Compression:
Stored size: 717 Bytes
Contents
class <%= user_class_name %> < ActiveRecord::Base acts_as_authentic attr_accessible :first_name, :last_name, :full_name, :email, :password, :password_confirmation, :language, :roles named_scope :with_role, lambda { |role| {:conditions => "roles_mask & #{2**ROLES.index(role.to_s)} > 0"} } ROLES = %w[<%= user_singular_name %> admin] def roles=(roles) self.roles_mask = (roles & ROLES).map { |r| 2**ROLES.index(r) }.sum end def roles ROLES.reject { |r| ((roles_mask || 0) & 2**ROLES.index(r)).zero? } end def role_symbols roles.map(&:to_sym) end def has_role?(role) roles.include?(role) ? true : false end def full_name "#{first_name} #{last_name}".strip end end
Version data entries
5 entries across 5 versions & 1 rubygems