session-check 0.1.6 → 0.1.7
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.
@@ -3,12 +3,23 @@ require 'session_off'
|
|
3
3
|
class SessionChecksController < ActionController::Base
|
4
4
|
|
5
5
|
skip_authorization_check if defined?(CanCan)
|
6
|
-
|
6
|
+
|
7
|
+
prepend_before_filter :dont_update_request_time
|
7
8
|
|
8
9
|
# Find it there is a session, and if it has any warden information. If so, the user is logged in.
|
9
10
|
def time_to_session_expiry
|
10
|
-
|
11
|
-
|
12
|
-
|
11
|
+
session_exists = false
|
12
|
+
session_expires_in = 0
|
13
|
+
if current_user
|
14
|
+
session_exists = true
|
15
|
+
# This calculates how many seconds there are until they are logged out
|
16
|
+
session_expires_in = User.timeout_in - Time.now.utc.to_i + session['warden.user.user.session']['last_request_at'].to_i rescue 1000000
|
17
|
+
end
|
18
|
+
render json: {session_exists: session_exists, session_expires_in: session_expires_in}
|
19
|
+
end
|
20
|
+
|
21
|
+
# This ensures this requeust ping doesn't update their last access time.
|
22
|
+
def dont_update_request_time
|
23
|
+
env['devise.skip_trackable'] = true
|
13
24
|
end
|
14
25
|
end
|
@@ -13,13 +13,15 @@
|
|
13
13
|
.done(function (d) {
|
14
14
|
if (!d.session_exists) {
|
15
15
|
force_sign_in();
|
16
|
+
} else {
|
17
|
+
session_time_left = d.session_expires_in;
|
16
18
|
}
|
17
19
|
})
|
18
20
|
.fail(force_sign_in);
|
19
21
|
}
|
20
|
-
setTimeout(session_check, check_every_s *
|
22
|
+
setTimeout(session_check, check_every_s * 5000);
|
21
23
|
};
|
22
|
-
setTimeout(session_check, check_every_s *
|
24
|
+
setTimeout(session_check, check_every_s * 5000);
|
23
25
|
<% if reset_counter_on_ajax %>
|
24
26
|
$.ajaxSetup({
|
25
27
|
complete: function (xhr) {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: session-check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
type: :runtime
|
@@ -27,22 +27,6 @@ dependencies:
|
|
27
27
|
- - ! '>'
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
type: :runtime
|
32
|
-
name: session_off
|
33
|
-
prerelease: false
|
34
|
-
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
|
-
requirements:
|
37
|
-
- - ! '>='
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '0'
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
30
|
description:
|
47
31
|
email:
|
48
32
|
- harry@harrylascelles.com
|