Class: DeviseCastle::PasswordsController

Inherits:
Devise::PasswordsController
  • Object
show all
Defined in:
app/controllers/devise_castle/passwords_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/controllers/devise_castle/passwords_controller.rb', line 2

def create
  user_traits = Devise.reset_password_keys.each_with_object({}) do |key, acc|
    acc[key] = resource_params[key] if resource_params.has?(key)
  end

  super do |resource|
    unless resource.respond_to?(:castle_do_not_track?) && resource.castle_do_not_track?
      begin
        castle.track(
          { event: '$password_reset.requested' }.merge({ user_traits: user_traits })
        )
      rescue ::Castle::Error => e
        if Devise.castle_error_handler.is_a?(Proc)
          Devise.castle_error_handler.call(e)
        end
      end
    end
  end
end

#updateObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/controllers/devise_castle/passwords_controller.rb', line 22

def update
  super do |resource|
    unless resource.respond_to?(:castle_do_not_track?) && resource.castle_do_not_track?
      begin
        if resource.errors.empty?
          castle.track(
            event: '$password_reset.succeeded',
            user_id: resource._castle_id)
        else
          castle.track(
            event: '$password_reset.failed',
            user_id: resource._castle_id)
        end
      rescue ::Castle::Error => e
        if Devise.castle_error_handler.is_a?(Proc)
          Devise.castle_error_handler.call(e)
        end
      end
    end
  end
end