devise_revocable_session 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee5913492929d5badf168f97854072a22fdac8459442252b2c9b8071015ceccf
|
4
|
+
data.tar.gz: 4be8d1670c04f608c0df09ea858b6fec79fee5968316de66fb66f4192313c68e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2e308e26f6b2e1ce82cb2b0aa13d6e4a6094906307b42cee36cafd610b0bc94b1f0cb948c367a572f44d5e0c54c42c87f8e6448db50309950953e720ea44ef0
|
7
|
+
data.tar.gz: 5c4f4ce2fc9fe500ffe9d822255c16e3b5767129d27eb03a4cfcda74a4df689804df75782f6d584d32695cde45ba9219925e1fe3087519b4f2d535194fedec18
|
@@ -34,21 +34,32 @@ module Devise
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def deactivate_session!(session_id)
|
37
|
-
|
37
|
+
devise_writer_wrapper do
|
38
|
+
revocable_sessions.where(session_id: session_id).delete_all
|
39
|
+
end
|
38
40
|
end
|
39
41
|
|
40
42
|
def purge_old_sessions
|
41
|
-
|
43
|
+
devise_writer_wrapper do
|
44
|
+
revocable_sessions.order(last_seen_at: :desc).offset(10).destroy_all
|
45
|
+
end
|
42
46
|
end
|
43
47
|
|
44
48
|
def mark_last_seen!(device_id)
|
49
|
+
devise_writer_wrapper do
|
50
|
+
login_record = revocable_sessions.find_by(device_id: device_id)
|
51
|
+
#skip second to reduce database hit
|
52
|
+
if (Time.now - (login_record.last_seen_at)) >= 60
|
53
|
+
login_record.update_column :last_seen_at, Time.now
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def devise_writer_wrapper
|
45
59
|
role = Rails.application.config.active_record.writing_role || :writing
|
46
60
|
ActiveRecord::Base.connected_to(role: role) do
|
47
61
|
ActiveRecord::Base.connection_handler.while_preventing_writes(false) do
|
48
|
-
|
49
|
-
#skip second to reduce database hit
|
50
|
-
if (Time.now - (login_record.last_seen_at)) >= 60
|
51
|
-
login_record.update_column :last_seen_at, Time.now
|
62
|
+
yield
|
52
63
|
end
|
53
64
|
end
|
54
65
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise_revocable_session
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carl Allen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|