Module: Devise::Models::Recoverable::ClassMethods
- Defined in:
- lib/devise/models/recoverable.rb
Instance Method Summary collapse
-
#reset_password_by_token(attributes = {}) ⇒ Object
Attempt to find a user by its reset_password_token to reset its password.
-
#reset_password_token ⇒ Object
Generate a token checking if one does not already exist in the database.
-
#send_reset_password_instructions(attributes = {}) ⇒ Object
Attempt to find a user by its email.
Instance Method Details
#reset_password_by_token(attributes = {}) ⇒ Object
Attempt to find a user by its reset_password_token to reset its password. If a user is found and token is still valid, reset its 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
120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/devise/models/recoverable.rb', line 120 def reset_password_by_token(attributes={}) recoverable = find_or_initialize_with_error_by(:reset_password_token, attributes[:reset_password_token]) if recoverable.persisted? if recoverable.reset_password_period_valid? recoverable.reset_password!(attributes[:password], attributes[:password_confirmation]) else recoverable.errors.add(:reset_password_token, :expired) end end recoverable end |
#reset_password_token ⇒ Object
Generate a token checking if one does not already exist in the database.
111 112 113 |
# File 'lib/devise/models/recoverable.rb', line 111 def reset_password_token generate_token(:reset_password_token) end |
#send_reset_password_instructions(attributes = {}) ⇒ Object
Attempt to find a user by its 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
104 105 106 107 108 |
# File 'lib/devise/models/recoverable.rb', line 104 def send_reset_password_instructions(attributes={}) recoverable = find_or_initialize_with_errors(reset_password_keys, attributes, :not_found) recoverable.send_reset_password_instructions if recoverable.persisted? recoverable end |