summaryrefslogtreecommitdiff
path: root/app/models/password_reset.rb
blob: c5f27649dbd4987465934c480757ce33b5642fd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class PasswordReset
  def self.send_reset_instructions_to(email)
    user = User.find_by(email: email)
    return if user.nil?
    user.update(reset_password_token: SecureRandom.hex(32), reset_password_sent_at: DateTime.now)
    PasswordResetMailer.send_password_reset_instructions_to(user).deliver_later
  end

  def self.reset(reset_token, new_password)
    user = User.find_by(reset_password_token: reset_token)
    return if user.nil?
    if user.change_password(new_password)
      user.update(reset_password_token: nil, reset_password_sent_at: nil)
    end
    user
  end
end