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