module AutoSessionTimeout::ClassMethods
Public Instance Methods
auto_session_timeout(seconds=nil)
click to toggle source
# File lib/auto_session_timeout.rb, line 8 def auto_session_timeout(seconds=nil) protect_from_forgery except: [:active, :timeout] prepend_before_action do |c| if session_expired?(c) && !signing_in?(c) c.send :reset_session else unless c.request.original_url.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
auto_session_timeout_actions()
click to toggle source
# File lib/auto_session_timeout.rb, line 22 def auto_session_timeout_actions define_method(:active) { render_session_status } define_method(:timeout) { render_session_timeout } end