Module: Devise::Models::Recoverable::ClassMethods

Defined in:
lib/devise/models/recoverable.rb

Instance Method Summary collapse

Instance Method Details

#reset_password_by_token(attributes = {}) ⇒ Object

Attempt to find a user by it’s reset_password_token to reset it’s password. If a user is found, reset it’s password and automatically try saving the record. If not user is found, returns a new user containing an error in reset_password_token attribute. Attributes must contain reset_password_token, password and confirmation



73
74
75
76
77
# File 'lib/devise/models/recoverable.rb', line 73

def reset_password_by_token(attributes={})
  recoverable = find_or_initialize_with_error_by(:reset_password_token, attributes[:reset_password_token])
  recoverable.reset_password!(attributes[:password], attributes[:password_confirmation]) if recoverable.persisted?
  recoverable
end

#reset_password_tokenObject

Generate a token checking if one does not already exist in the database.



64
65
66
# File 'lib/devise/models/recoverable.rb', line 64

def reset_password_token
  generate_token(:reset_password_token)
end

#send_reset_password_instructions(attributes = {}) ⇒ Object

Attempt to find a user by it’s email. If a record is found, send new password instructions to it. If not user is found, returns a new user with an email not found error. Attributes must contain the user email



57
58
59
60
61
# File 'lib/devise/models/recoverable.rb', line 57

def send_reset_password_instructions(attributes={})
  recoverable = find_or_initialize_with_error_by(:email, attributes[:email], :not_found)
  recoverable.send_reset_password_instructions if recoverable.persisted?
  recoverable
end