effective_logging 1.5.7 → 1.5.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dba3d7067bb00cdfd22bf82b4e2d22b5eb93c510
4
- data.tar.gz: d0c1fcd66775d2429ff202a9456c17d704ecb56b
3
+ metadata.gz: ad6d1fb9c0e708830f7ec12173354a1e6692fa0a
4
+ data.tar.gz: 89c073378f6b6f441a2daa78ce034671a6e92db3
5
5
  SHA512:
6
- metadata.gz: 3e3dae72ea8a9be3248c387de264f5dc764e34de170e2b6972b5498eb1cf3ceaff850101bfd30b0c46a7137476f1e475ec15ac93e71bf1f1ee98495bbe599bb7
7
- data.tar.gz: 2f71d15d724c34eb6c34025def23b8e7912d55174bc6e6ecc519c16ea9af3a388f4948b2fbb964b72a56d96be4b210f8af757ffdaf2b9b0b63ea159af88ab841
6
+ metadata.gz: 50d647c3c66443229c8a0aa26a2c58086e5a24d8f662753b2d5567d4ab9315a79bdc4c72d4b0882849611c26057a79f5c02a100083376f2aa2aa735096cc952e
7
+ data.tar.gz: 33a0d6419f26c57ccae3abe1491273c5dfa6680ec26b3be93bd1615630560a94747a2b161110738c3fb4a64ff5933af14b5fbd96ec056fce4adb7b987b3e9f43
@@ -48,7 +48,7 @@ module EffectiveLogging
48
48
 
49
49
  # This has to be run after initialization or User hasn't been loaded yet
50
50
  config.after_initialize do
51
- if EffectiveLogging.user_logins_enabled == true
51
+ if EffectiveLogging.user_logins_enabled || EffectiveLogging.user_logouts_enabled
52
52
  ActiveSupport.on_load :active_record do
53
53
  if defined?(Devise)
54
54
  EffectiveLogging::UserLogger.create_warden_hooks()
@@ -2,51 +2,51 @@ module EffectiveLogging
2
2
  class UserLogger
3
3
  def self.create_warden_hooks
4
4
  Warden::Manager.after_authentication do |user, warden, opts|
5
- return if EffectiveLogging.supressed?
6
-
7
- ::EffectiveLogger.success('user login',
8
- :user => user,
9
- :ip => warden.request.ip.presence,
10
- :referrer => warden.request.referrer,
11
- :user_agent => warden.request.user_agent
12
- )
13
- end
14
-
15
- Warden::Manager.after_set_user do |user, warden, opts|
16
- return if EffectiveLogging.supressed?
17
-
18
- if (opts[:event] == :set_user rescue false) # User has just reset their password and signed in
5
+ if EffectiveLogging.user_logins_enabled && !EffectiveLogging.supressed?
19
6
  ::EffectiveLogger.success('user login',
20
7
  :user => user,
21
8
  :ip => warden.request.ip.presence,
22
9
  :referrer => warden.request.referrer,
23
- :user_agent => warden.request.user_agent,
24
- :notes => 'after password reset'
10
+ :user_agent => warden.request.user_agent
25
11
  )
26
12
  end
27
13
  end
28
14
 
29
- Warden::Manager.before_logout do |user, warden, opts|
30
- return if EffectiveLogging.supressed?
31
-
32
- if user.respond_to?(:timedout?) && user.respond_to?(:timeout_in)
33
- scope = opts[:scope]
34
- last_request_at = (warden.request.session["warden.#{scope}.#{scope}.session"]['last_request_at'] rescue Time.zone.now)
35
-
36
- # As per Devise
37
- if last_request_at.is_a? Integer
38
- last_request_at = Time.at(last_request_at).utc
39
- elsif last_request_at.is_a? String
40
- last_request_at = Time.parse(last_request_at)
15
+ Warden::Manager.after_set_user do |user, warden, opts|
16
+ if EffectiveLogging.user_logins_enabled && !EffectiveLogging.supressed?
17
+ if (opts[:event] == :set_user rescue false) # User has just reset their password and signed in
18
+ ::EffectiveLogger.success('user login',
19
+ :user => user,
20
+ :ip => warden.request.ip.presence,
21
+ :referrer => warden.request.referrer,
22
+ :user_agent => warden.request.user_agent,
23
+ :notes => 'after password reset'
24
+ )
41
25
  end
26
+ end
27
+ end
42
28
 
43
- if user.timedout?(last_request_at) && !warden.request.env['devise.skip_timeout']
44
- ::EffectiveLogger.success('user logout', :user => user, :timedout => true)
45
- else
29
+ Warden::Manager.before_logout do |user, warden, opts|
30
+ if EffectiveLogging.user_logouts_enabled && !EffectiveLogging.supressed?
31
+ if user.respond_to?(:timedout?) && user.respond_to?(:timeout_in)
32
+ scope = opts[:scope]
33
+ last_request_at = (warden.request.session["warden.#{scope}.#{scope}.session"]['last_request_at'] rescue Time.zone.now)
34
+
35
+ # As per Devise
36
+ if last_request_at.is_a? Integer
37
+ last_request_at = Time.at(last_request_at).utc
38
+ elsif last_request_at.is_a? String
39
+ last_request_at = Time.parse(last_request_at)
40
+ end
41
+
42
+ if user.timedout?(last_request_at) && !warden.request.env['devise.skip_timeout']
43
+ ::EffectiveLogger.success('user logout', :user => user, :timedout => true)
44
+ else
45
+ ::EffectiveLogger.success('user logout', :user => user)
46
+ end
47
+ else # User does not respond to timedout
46
48
  ::EffectiveLogger.success('user logout', :user => user)
47
49
  end
48
- else # User does not respond to timedout
49
- ::EffectiveLogger.success('user logout', :user => user)
50
50
  end
51
51
  end
52
52
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveLogging
2
- VERSION = '1.5.7'.freeze
2
+ VERSION = '1.5.8'.freeze
3
3
  end
@@ -14,6 +14,7 @@ module EffectiveLogging
14
14
 
15
15
  mattr_accessor :emails_enabled
16
16
  mattr_accessor :user_logins_enabled
17
+ mattr_accessor :user_logouts_enabled
17
18
 
18
19
  def self.setup
19
20
  yield self
@@ -42,5 +42,6 @@ EffectiveLogging.setup do |config|
42
42
 
43
43
  # Log all successful user login attempts
44
44
  config.user_logins_enabled = true
45
+ config.user_logouts_enabled = false
45
46
 
46
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.7
4
+ version: 1.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect