Module: AutoSessionTimeoutHelper

Defined in:
lib/auto_session_timeout_helper.rb

Instance Method Summary collapse

Instance Method Details

#auto_session_timeout_js(options = {}) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/auto_session_timeout_helper.rb', line 2

def auto_session_timeout_js(options={})
  frequency = options[:frequency] || 60
  verbosity = options[:verbosity] || 2
  attributes = options[:attributes] || {}
  code = "function PeriodicalQuery() {\nvar request = new XMLHttpRequest();\nrequest.onload = function (event) {\n  var status = event.target.status;\n  var response = event.target.response;\n  if (status === 200 && (response === false || response === 'false' || response === null)) {\n    window.location.href = '\#{timeout_path}';\n  }\n};\nrequest.open('GET', '\#{active_path}', true);\nrequest.responseType = 'json';\nrequest.send();\nsetTimeout(PeriodicalQuery, (\#{frequency} * 1000));\n}\nsetTimeout(PeriodicalQuery, (\#{frequency} * 1000));\n"
  javascript_tag(code, attributes)
end