Files
forum/app/models/user.rb

44 lines
1.1 KiB
Ruby

class User < ActiveRecord::Base
include Gravtastic
before_create :set_default_role
belongs_to :role
gravtastic :size => 165, :filetype => :png, :rating => 'R'
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :username, :presence => true, :uniqueness => true
# Setup accessible (or protected) attributes for your model
attr_accessible :username, :email, :password, :password_confirmation, :remember_me, :role_id
has_many :topics, :dependent => :destroy
has_many :posts, :dependent => :destroy
def registered?
self.role == Role.find_by_name('registered')
end
def banned?
self.role == Role.find_by_name('banned')
end
def moderator?
self.role == Role.find_by_name('moderator')
end
def admin?
self.role == Role.find_by_name('admin')
end
private
def set_default_role
self.role ||= Role.find_by_name('registered')
end
end