module ActionDispatch::Session::StaleSessionCheck
def extract_session_id(env)
def extract_session_id(env) stale_session_check! { super } end
def load_session(env)
def load_session(env) stale_session_check! { super } end
def stale_session_check!
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