master
 1class PasswordReset
 2  def self.send_reset_instructions_to(email)
 3    user = User.find_by(email: email)
 4    return if user.nil?
 5    user.update(reset_password_token: SecureRandom.hex(32), reset_password_sent_at: DateTime.now)
 6    PasswordResetMailer.send_password_reset_instructions_to(user).deliver_later
 7  end
 8
 9  def self.reset(reset_token, new_password)
10    user = User.find_by(reset_password_token: reset_token)
11    return if user.nil?
12    if user.change_password(new_password)
13      user.update(reset_password_token: nil, reset_password_sent_at: nil)
14    end
15    user
16  end
17end