X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/38a39352cb389bca9f96eba1d3c58e9f607d636e..53817fa9e8d955df0891d156f21b7269b4ed08fc:/lib/session_persistence.rb diff --git a/lib/session_persistence.rb b/lib/session_persistence.rb index 7d42b71e7..0a9f1d2f1 100644 --- a/lib/session_persistence.rb +++ b/lib/session_persistence.rb @@ -25,6 +25,7 @@ module SessionPersistence # Install filter when we are included def included(controller) + super controller.after_action :persist_session end end @@ -41,7 +42,7 @@ module SessionPersistence # session_expires_after 1.hour # session_expires_after 2.weeks def session_expires_after(seconds) - session[session_persistence_key] = seconds + session[session_persistence_key] = seconds.to_i end # Expire the session. @@ -52,10 +53,8 @@ module SessionPersistence # Filter callback def persist_session - if session[session_persistence_key] - request.session_options[:expire_after] = session[session_persistence_key] - end - rescue + request.session_options[:expire_after] = session[session_persistence_key] if session[session_persistence_key] + rescue StandardError reset_session end end