Module: CastleDevise::Patches::PasswordsController
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/castle_devise/patches/passwords_controller.rb
Overview
Monkey-patch for Devise::PasswordsController which includes Castle to the password reset requests flow.
Instance Method Summary collapse
-
#create ⇒ Object
POST /resource/password.
-
#update ⇒ Object
PUT /resource/password.
Instance Method Details
#create ⇒ Object
POST /resource/password
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/castle_devise/patches/passwords_controller.rb', line 32 def create super do |resource| next unless resource_class.castle_hooks[:after_password_reset_request] begin CastleDevise.sdk_facade.log( event: "$password_reset_request", status: resource.persisted? ? "$succeeded" : "$failed", context: CastleDevise::Context.from_rack_env(request.env, scope_name, resource) ) rescue Castle::Error => e # log API errors and pass-through it CastleDevise.logger.error("[CastleDevise] log($password_reset_request): #{e}") end end end |
#update ⇒ Object
Note:
Notice, this must happen within a block because before calling “reset_password_by_token” method we don’t know what resource we operate on.
PUT /resource/password
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/castle_devise/patches/passwords_controller.rb', line 14 def update super do |resource| next unless resource_class.castle_hooks[:profile_update] begin CastleDevise.sdk_facade.log( event: "$profile_update", status: resource.errors.empty? ? "$succeeded" : "$failed", context: CastleDevise::Context.from_rack_env(request.env, scope_name, resource) ) rescue Castle::Error => e # log API errors and pass-through it CastleDevise.logger.error("[CastleDevise] log($password_reset_request): #{e}") end end end |