class ActiveModel::Serializer
def serializer_for(resource, options = {})
def serializer_for(resource, options = {}) if resource.respond_to?(:serializer_class) resource.serializer_class elsif resource.respond_to?(:to_ary) if Object.constants.include?(:ArraySerializer) ::ArraySerializer else ArraySerializer end else klass_name = build_serializer_class(resource, options) Serializer.serializers_cache.fetch_or_store(klass_name) do _const_get(klass_name) end end end