From 2b0c5ee084d2e86bd449fbb85b749b7ab382223d Mon Sep 17 00:00:00 2001 From: lsylvester Date: Tue, 10 Mar 2015 20:59:48 +1100 Subject: [PATCH] clear the cache between requests --- lib/active_model/serializer.rb | 6 +++--- lib/active_model_serializers.rb | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index faab5c77..c4630ab6 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -199,12 +199,12 @@ module ActiveModel opts end - private - def self.serializers_cache - @serializers_cache ||= Threadsafe::Cache.new + @serializers_cache ||= ThreadSafe::Cache.new end + private + def self.get_serializer_for(klass) serializers_cache.fetch_or_store(klass) do serializer_class_name = "#{klass.name}Serializer" diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index f566280e..31925583 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -9,6 +9,9 @@ begin ActiveSupport.on_load(:action_controller) do include ::ActionController::Serialization + ActionDispatch::Reloader.to_prepare do + ActiveModel::Serializer.serializers_cache.clear + end end rescue LoadError # rails not installed, continuing