]> git.openstreetmap.org Git - rails.git/blobdiff - lib/session_persistence.rb
Merge remote-tracking branch 'upstream/pull/3986'
[rails.git] / lib / session_persistence.rb
index d4dd1cc1de3aa53a8b2516993aa517382537166f..0a9f1d2f1de13f75a8ebae1fd96d10b5951a7fb5 100644 (file)
@@ -25,7 +25,8 @@ module SessionPersistence
 
     # Install filter when we are included
     def included(controller)
-      controller.after_filter :persist_session
+      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