Files
nairobi/app/models/user.rb
2015-08-16 22:45:43 +02:00

29 lines
791 B
Ruby

class User < ActiveRecord::Base
apply_simple_captcha
devise :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable
acts_as_voter
validates :first_name, presence: true, unless: :use_nickname?
validates :last_name, presence: true, unless: :use_nickname?
validates :nickname, presence: true, if: :use_nickname?
def name
use_nickname? ? nickname : "#{first_name} #{last_name}"
end
def debate_votes(debates)
voted = votes.for_debates.in(debates)
voted.each_with_object({}) { |v, _| _[v.votable_id] = v.value }
end
def administrator?
@is_administrator ||= Administrator.where(user_id: id).exists?
end
def moderator?
@is_moderator ||= Moderator.where(user_id: id).exists?
end
end