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 defined?(::ArraySerializer)
      ::ArraySerializer
    else
      ArraySerializer
    end
  else
    each_possible_serializer(resource, options) do |klass_name|
      serializer = Serializer.serializers_cache.fetch_or_store(klass_name) do
        _const_get(klass_name)
      end
      return serializer unless serializer.nil?
    end
    nil
  end
end