Class: Devise::PasswordsController
- Inherits:
-
DeviseController
- Object
- DeviseController
- Devise::PasswordsController
- Defined in:
- app/controllers/devise/passwords_controller.rb
Instance Method Summary collapse
- #after_resetting_password_path_for(resource) ⇒ Object protected
-
#after_sending_reset_password_instructions_path_for(resource_name) ⇒ Object
protected
The path used after sending reset password instructions.
-
#assert_reset_token_passed ⇒ Object
protected
Check if a reset_password_token is provided in the request.
-
#create {|resource| ... } ⇒ Object
POST /resource/password.
-
#edit ⇒ Object
GET /resource/password/edit?reset_password_token=abcdef.
-
#new ⇒ Object
GET /resource/password/new.
-
#unlockable?(resource) ⇒ Boolean
protected
Check if proper Lockable module methods are present & unlock strategy allows to unlock resource on password reset.
-
#update {|resource| ... } ⇒ Object
PUT /resource/password.
Instance Method Details
#after_resetting_password_path_for(resource) ⇒ Object (protected)
47 48 49 |
# File 'app/controllers/devise/passwords_controller.rb', line 47 def after_resetting_password_path_for(resource) after_sign_in_path_for(resource) end |
#after_sending_reset_password_instructions_path_for(resource_name) ⇒ Object (protected)
The path used after sending reset password instructions
52 53 54 |
# File 'app/controllers/devise/passwords_controller.rb', line 52 def after_sending_reset_password_instructions_path_for(resource_name) new_session_path(resource_name) if end |
#assert_reset_token_passed ⇒ Object (protected)
Check if a reset_password_token is provided in the request
57 58 59 60 61 62 |
# File 'app/controllers/devise/passwords_controller.rb', line 57 def assert_reset_token_passed if params[:reset_password_token].blank? (:alert, :no_token) redirect_to new_session_path(resource_name) end end |
#create {|resource| ... } ⇒ Object
POST /resource/password
12 13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/devise/passwords_controller.rb', line 12 def create self.resource = resource_class.send_reset_password_instructions(resource_params) yield resource if block_given? if successfully_sent?(resource) respond_with({}, location: after_sending_reset_password_instructions_path_for(resource_name)) else respond_with(resource) end end |
#edit ⇒ Object
GET /resource/password/edit?reset_password_token=abcdef
24 25 26 27 28 |
# File 'app/controllers/devise/passwords_controller.rb', line 24 def edit self.resource = resource_class.new set_minimum_password_length resource.reset_password_token = params[:reset_password_token] end |
#new ⇒ Object
GET /resource/password/new
7 8 9 |
# File 'app/controllers/devise/passwords_controller.rb', line 7 def new self.resource = resource_class.new end |
#unlockable?(resource) ⇒ Boolean (protected)
Check if proper Lockable module methods are present & unlock strategy allows to unlock resource on password reset
66 67 68 69 70 |
# File 'app/controllers/devise/passwords_controller.rb', line 66 def unlockable?(resource) resource.respond_to?(:unlock_access!) && resource.respond_to?(:unlock_strategy_enabled?) && resource.unlock_strategy_enabled?(:email) end |
#update {|resource| ... } ⇒ Object
PUT /resource/password
31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/controllers/devise/passwords_controller.rb', line 31 def update self.resource = resource_class.reset_password_by_token(resource_params) yield resource if block_given? if resource.errors.empty? resource.unlock_access! if unlockable?(resource) = resource.active_for_authentication? ? :updated : :updated_not_active (:notice, ) if is_flashing_format? sign_in(resource_name, resource) respond_with resource, location: after_resetting_password_path_for(resource) else respond_with resource end end |