module ActionDispatch::Session::StaleSessionCheck
Public instance methods
Source code GitHub
# File actionpack/lib/action_dispatch/middleware/session/abstract_store.rb, line 50
def extract_session_id(env)
stale_session_check! { super }
end
Source code GitHub
# File actionpack/lib/action_dispatch/middleware/session/abstract_store.rb, line 46
def load_session(env)
stale_session_check! { super }
end
Source code GitHub
# File actionpack/lib/action_dispatch/middleware/session/abstract_store.rb, line 54
def stale_session_check!
yield
rescue ArgumentError => argument_error
if argument_error.message =~ %r{undefined class/module ([\w:]*\w)}
begin
# Note that the regexp does not allow $1 to end with a ':'.
$1.constantize
rescue LoadError, NameError
raise ActionDispatch::Session::SessionRestoreError
end
retry
else
raise
end
end