Merge branch 'Rodrigora-serializer-cache-inheritance'

This commit is contained in:
Benjamin Fleischer 2015-10-07 05:59:55 -05:00
commit 236fb6d7fb
2 changed files with 26 additions and 7 deletions

View File

@ -30,13 +30,16 @@ module ActiveModel
class << self class << self
attr_accessor :_attributes attr_accessor :_attributes
attr_accessor :_attributes_keys attr_accessor :_attributes_keys
attr_accessor :_cache end
attr_accessor :_fragmented
attr_accessor :_cache_key with_options instance_writer: false, instance_reader: false do |serializer|
attr_accessor :_cache_only serializer.class_attribute :_cache
attr_accessor :_cache_except serializer.class_attribute :_fragmented
attr_accessor :_cache_options serializer.class_attribute :_cache_key
attr_accessor :_cache_digest serializer.class_attribute :_cache_only
serializer.class_attribute :_cache_except
serializer.class_attribute :_cache_options
serializer.class_attribute :_cache_digest
end end
def self.inherited(base) def self.inherited(base)

View File

@ -34,6 +34,22 @@ module ActiveModel
@blog_serializer = BlogSerializer.new(@blog) @blog_serializer = BlogSerializer.new(@blog)
end end
def test_inherited_cache_configuration
inherited_serializer = Class.new(PostSerializer)
assert_equal PostSerializer._cache_key, inherited_serializer._cache_key
assert_equal PostSerializer._cache_options, inherited_serializer._cache_options
end
def test_override_cache_configuration
inherited_serializer = Class.new(PostSerializer) do
cache key: 'new-key'
end
assert_equal PostSerializer._cache_key, 'post'
assert_equal inherited_serializer._cache_key, 'new-key'
end
def test_cache_definition def test_cache_definition
assert_equal(ActionController::Base.cache_store, @post_serializer.class._cache) assert_equal(ActionController::Base.cache_store, @post_serializer.class._cache)
assert_equal(ActionController::Base.cache_store, @author_serializer.class._cache) assert_equal(ActionController::Base.cache_store, @author_serializer.class._cache)