require 'digest/md5' class User < ActiveRecord::Base # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, authentication_keys: [:login] #, :registerable, :validatable has_many :notes def encrypted_password=(pass) write_attribute :password, pass end def encrypted_password read_attribute :password end def self.find_first_by_auth_conditions(warden_conditions) conditions = warden_conditions.dup if login = conditions.delete(:login) where(conditions).where(["login = :value", { value: login }]).first else where(conditions).first end end def valid_password?(password) encrypted_password == password_digest(password) end protected def password_digest(password) Digest::MD5.hexdigest password end end