password reset requests

This commit is contained in:
Mark Moser
2016-08-24 15:02:32 -05:00
parent 963517e4bb
commit 7b51d26295
12 changed files with 156 additions and 20 deletions

View File

@ -5,4 +5,20 @@ class User < ApplicationRecord
validates_presence_of :email
validates_presence_of :name
validates_presence_of :role
validates :reset_token, uniqueness: true, allow_nil: true
def setup_reset
gen_reset_token
save
end
private
def gen_reset_token
loop do
self[:reset_token] = SecureRandom.urlsafe_base64(10)
self[:reset_timestamp] = DateTime.now
break unless User.exists?(reset_token: self[:reset_token])
end
end
end