require 'digest/sha1' class User < ActiveRecord::Base validates_presence_of :username validates_uniqueness_of :username validates_presence_of :passwd has_many :tasks, :order => 'complete ASC, start DESC', :dependent => :nullify def passwd=(pwd) write_attribute('passwd', Digest::SHA1.hexdigest(pwd)) end def self.authenticate(username, passwd) hashed_passwd = Digest::SHA1.hexdigest(passwd) user = self.find_by_username_and_passwd(username, hashed_passwd) return user end end