module ActiveModel::Serializer::Caching::ClassMethods
def object_cache_keys(collection_serializer, adapter_instance, include_directive)
-
(Array)
- all cache_key of collection_serializer
Parameters:
-
include_directive
(JSONAPI::IncludeDirective
) -- -
adapter_instance
(ActiveModelSerializers::Adapter::Base
) -- -
serializers
(ActiveModel::Serializer::CollectionSerializer
) --
def object_cache_keys(collection_serializer, adapter_instance, include_directive) cache_keys = [] collection_serializer.each do |serializer| cache_keys << object_cache_key(serializer, adapter_instance) serializer.associations(include_directive).each do |association| # TODO(BF): Process relationship without evaluating lazy_association association_serializer = association.lazy_association.serializer if association_serializer.respond_to?(:each) association_serializer.each do |sub_serializer| cache_keys << object_cache_key(sub_serializer, adapter_instance) end else cache_keys << object_cache_key(association_serializer, adapter_instance) end end end cache_keys.compact.uniq end