Update fragment cache to support namespaced objects

This commit is contained in:
Aaron Lerch
2015-08-17 17:12:30 -04:00
parent 6aba260491
commit 35c8f0d835
3 changed files with 17 additions and 2 deletions

View File

@@ -54,8 +54,8 @@ module ActiveModel
end
def fragment_serializer(name, klass)
cached = "#{name.capitalize}CachedSerializer"
non_cached = "#{name.capitalize}NonCachedSerializer"
cached = "#{to_valid_const_name(name)}CachedSerializer"
non_cached = "#{to_valid_const_name(name)}NonCachedSerializer"
Object.const_set cached, Class.new(ActiveModel::Serializer) unless Object.const_defined?(cached)
Object.const_set non_cached, Class.new(ActiveModel::Serializer) unless Object.const_defined?(non_cached)
@@ -72,6 +72,10 @@ module ActiveModel
cached_attributes(klass, serializers)
serializers
end
def to_valid_const_name(name)
name.gsub('::', '_')
end
end
end
end