Module: ActionDispatch::Session::StaleSessionCheck
- Included in:
- AbstractStore, CookieStore, MemCacheStore
- Defined in:
- actionpack/lib/action_dispatch/middleware/session/abstract_store.rb
Instance Method Summary collapse
Instance Method Details
#extract_session_id(env) ⇒ Object
50 51 52 |
# File 'actionpack/lib/action_dispatch/middleware/session/abstract_store.rb', line 50 def extract_session_id(env) stale_session_check! { super } end |
#load_session(env) ⇒ Object
46 47 48 |
# File 'actionpack/lib/action_dispatch/middleware/session/abstract_store.rb', line 46 def load_session(env) stale_session_check! { super } end |
#stale_session_check! ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'actionpack/lib/action_dispatch/middleware/session/abstract_store.rb', line 54 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 |