]> git.openstreetmap.org Git - rails.git/commitdiff
Ignore exceptions clearing sessions
authorTom Hughes <tom@compton.nu>
Mon, 9 Sep 2013 10:49:00 +0000 (11:49 +0100)
committerTom Hughes <tom@compton.nu>
Sun, 22 Sep 2013 09:33:31 +0000 (10:33 +0100)
Rails 3 sessions can't be loaded by rails 4 but reset_session also
fails because it tries to clear the session, which tries to load it
in to clear it.

So monkey patch the session to ignore exceptions during clear so
that out normal reset-on-exception logic will reset the session.

config/initializers/session.rb [new file with mode: 0644]

diff --git a/config/initializers/session.rb b/config/initializers/session.rb
new file mode 100644 (file)
index 0000000..83b2492
--- /dev/null
@@ -0,0 +1,13 @@
+module ActionDispatch
+  class Request < Rack::Request
+    class Session
+      def clear_with_rescue
+        clear_without_rescue
+      rescue
+        # lets not worry about it...
+      end
+
+      alias_method_chain :clear, :rescue
+    end
+  end
+end