9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/auto_session_timeout_warning.rb', line 9
def auto_session_timeout(seconds=nil)
prepend_before_filter do |c|
if c.session[:auto_session_expires_at] && c.session[:auto_session_expires_at] < Time.now
c.send :reset_session
else
unless c.url_for(c.params).start_with?(c.send(:active_url))
offset = seconds || (current_user.respond_to?(:auto_timeout) ? current_user.auto_timeout : nil)
c.session[:auto_session_expires_at] = Time.now + offset if offset && offset > 0
end
end
end
end
|