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