Class: DeviseCastle::RegistrationsController

Inherits:
Devise::RegistrationsController
  • Object
show all
Defined in:
app/controllers/devise_castle/registrations_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
21
22
# File 'app/controllers/devise_castle/registrations_controller.rb', line 2

def create
  super do |resource|
    begin
      if resource.persisted?
        castle.track(
          event: '$registration.succeeded',
          user_id: resource._castle_id,
          user_traits: resource.castle_user_traits
        )
      else
        castle.track(
          event: '$registration.failed'
        )
      end
    rescue ::Castle::Error => e
      if Devise.castle_error_handler.is_a?(Proc)
        Devise.castle_error_handler.call(e)
      end
    end
  end
end

#update_resource(resource, params) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/controllers/devise_castle/registrations_controller.rb', line 24

def update_resource(resource, params)
  resource_updated = super

  begin
    if params['password'].present?
      if resource_updated
        castle.track(
          event: '$password_change.succeeded',
          user_id: resource._castle_id
        )
      else
        castle.track(
          event: '$password_change.failed',
          user_id: resource._castle_id
        )
      end
    end
  rescue ::Castle::Error => e
    if Devise.castle_error_handler.is_a?(Proc)
      Devise.castle_error_handler.call(e)
    end
  end

  resource_updated
end