Module: ActionDispatch::Session::StaleSessionCheck
- Included in:
- AbstractStore, CookieStore, MemCacheStore
- Defined in:
- lib/action_dispatch/middleware/session/abstract_store.rb
Instance Method Summary collapse
Instance Method Details
#extract_session_id(env) ⇒ Object
52 53 54 |
# File 'lib/action_dispatch/middleware/session/abstract_store.rb', line 52 def extract_session_id(env) stale_session_check! { super } end |
#load_session(env) ⇒ Object
48 49 50 |
# File 'lib/action_dispatch/middleware/session/abstract_store.rb', line 48 def load_session(env) stale_session_check! { super } end |
#stale_session_check! ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/action_dispatch/middleware/session/abstract_store.rb', line 56 def stale_session_check! yield rescue ArgumentError => argument_error if argument_error. =~ %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.} [#{const_error.class}])\n" end retry else raise end end |