module AutoSessionTimeout
Public Class Methods
included(controller)
click to toggle source
# File lib/auto_session_timeout.rb, line 3 def self.included(controller) controller.extend ClassMethods end
Public Instance Methods
render_session_status()
click to toggle source
# File lib/auto_session_timeout.rb, line 28 def render_session_status response.headers["Etag"] = "" # clear etags to prevent caching render plain: !!current_user, status: 200 end
render_session_timeout()
click to toggle source
# File lib/auto_session_timeout.rb, line 33 def render_session_timeout flash[:notice] = t("devise.failure.timeout", default: "Your session has timed out.") redirect_to sign_in_path end
Private Instance Methods
session_expired?(c)
click to toggle source
# File lib/auto_session_timeout.rb, line 44 def session_expired?(c) c.session[:auto_session_expires_at].try(:<, Time.now) end
sign_in_path()
click to toggle source
# File lib/auto_session_timeout.rb, line 48 def sign_in_path user_session_path rescue "/login" end
signing_in?(c)
click to toggle source
# File lib/auto_session_timeout.rb, line 40 def signing_in?(c) c.request.env["PATH_INFO"] == sign_in_path && c.request.env["REQUEST_METHOD"] == "POST" end