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 search_list = build_serializer_class_list(resource, options) result = search_list.map do |klass_name| Serializer.serializers_cache.fetch_or_store(klass_name) do _const_get(klass_name) end end result.find { |serializer| !serializer.nil? } end end