Class: DeviseActivity::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/devise_activity/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



7
8
9
10
11
12
# File 'lib/devise_activity/configuration.rb', line 7

def initialize
  @sessions_table_name = 'sessions'
  @navigations_table_name = 'navigations'
  @devise_model_name = 'user'
  add_warden_hooks
end

Instance Attribute Details

#devise_model_nameObject

Returns the value of attribute devise_model_name.



3
4
5
# File 'lib/devise_activity/configuration.rb', line 3

def devise_model_name
  @devise_model_name
end

Returns the value of attribute navigations_table_name.



3
4
5
# File 'lib/devise_activity/configuration.rb', line 3

def navigations_table_name
  @navigations_table_name
end

#sessions_table_nameObject

Returns the value of attribute sessions_table_name.



3
4
5
# File 'lib/devise_activity/configuration.rb', line 3

def sessions_table_name
  @sessions_table_name
end

Instance Method Details

#add_warden_hooksObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/devise_activity/configuration.rb', line 14

def add_warden_hooks
  Devise.setup do |c|

    Warden::Manager.after_authentication do |record, auth, opts|
      if record and record.class == DeviseActivity.configuration.devise_model_name.classify.constantize
        begin
          Session.close_all_previous_sessions(record)
          Session.start_new_session(record)
        rescue
          puts "Something went wrong"
        end
      end
    end

    Warden::Manager.before_logout do |record, _warden, _options|
      if record and record.class == DeviseActivity.configuration.devise_model_name.classify.constantize
        Session.close_all_previous_sessions(record) rescue nil
      end
    end

  end
end