module ActionDispatch::Session::StaleSessionCheck

Public Instance Methods

extract_session_id(env) click to toggle source
Calls superclass method
# File lib/action_dispatch/middleware/session/abstract_store.rb, line 46
def extract_session_id(env)
  stale_session_check! { super }
end
load_session(env) click to toggle source
Calls superclass method
# File lib/action_dispatch/middleware/session/abstract_store.rb, line 42
def load_session(env)
  stale_session_check! { super }
end
stale_session_check!() { || ... } click to toggle source
# File lib/action_dispatch/middleware/session/abstract_store.rb, line 50
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 => e
      raise ActionDispatch::Session::SessionRestoreError, e, e.backtrace
    end
    retry
  else
    raise
  end
end