Remove caching of Serializer constants to allow ActiveSupport::Dependency reloading to work

This commit is contained in:
Nicholas Mulder 2013-02-28 10:02:38 -05:00
parent fa51c5f574
commit 918a9de546

View File

@ -33,14 +33,12 @@ module ActiveModel::SerializerSupport
module ClassMethods #:nodoc: module ClassMethods #:nodoc:
if "".respond_to?(:safe_constantize) if "".respond_to?(:safe_constantize)
def active_model_serializer def active_model_serializer
@active_model_serializer ||= "#{self.name}Serializer".safe_constantize "#{self.name}Serializer".safe_constantize
end end
else else
def active_model_serializer def active_model_serializer
return @active_model_serializer if defined?(@active_model_serializer)
begin begin
@active_model_serializer = "#{self.name}Serializer".constantize "#{self.name}Serializer".constantize
rescue NameError => e rescue NameError => e
raise unless e.message =~ /uninitialized constant/ raise unless e.message =~ /uninitialized constant/
end end