Sha256: 07448ec4dba9b1b32a4eb057df80a190b14b91cea92941590379baa9361b74ca
Contents?: true
Size: 1.57 KB
Versions: 4
Compression:
Stored size: 1.57 KB
Contents
class User < ActiveRecord::Base has_secure_password # associations connected to tkh_content gem. Any page or comment model will do has_many :pages has_many :comments, :dependent => :destroy, foreign_key: 'author_id' # not allowed are :admin:boolean, :auth_token:string, password_reset_token:string, password_reset_sent_at:datetime # attr_accessible :email, :password, :password_confirmation, :first_name, :last_name, :other_name validates_presence_of :email validates_uniqueness_of :email, :case_sensitive => false # validates_presence_of :password, on: :create # TODO - this needs to be somehow integrated in the click flow # validates_presence_of :first_name # validates_presence_of :last_name scope :alphabetically, -> { order('last_name, first_name') } scope :administrators, -> { where('admin = ?', true) } scope :by_recent, -> { order('updated_at desc') } before_create { generate_token(:auth_token) } # use the stringex gem to create slug | usually on the title or name attribute def to_param "#{id}-#{name.to_url}" end def name "#{first_name} #{last_name}".strip end def formal_name "#{last_name}, #{first_name}".strip end def spiritual_name @spiritual_name = other_name || first_name end def send_password_reset generate_token(:password_reset_token) self.password_reset_sent_at = Time.zone.now save! UserMailer.password_reset(self).deliver end def generate_token(column) begin self[column] = SecureRandom.urlsafe_base64 end while User.exists?(column => self[column]) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
tkh_authentication-0.9.6 | app/models/user.rb |
tkh_authentication-0.9.5 | app/models/user.rb |
tkh_authentication-0.9.4 | app/models/user.rb |
tkh_authentication-0.9.3 | app/models/user.rb |