# 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 52
    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 48
    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 56
    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 => const_error
          raise ActionDispatch::Session::SessionRestoreError,
            "Session contains objects whose class definition isn't available.\n" +
            "Remember to require the classes for all objects kept in the session.\n" +
            "(Original exception: #{const_error.message} [#{const_error.class}])\n"
        end
        retry
      else
        raise
      end
    end