mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
Merge branch 'Rodrigora-serializer-cache-inheritance'
This commit is contained in:
commit
236fb6d7fb
@ -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)
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user