batch_project_statistics_loader.rb 544 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
# frozen_string_literal: true

module Gitlab
  module Graphql
    module Loaders
      class BatchProjectStatisticsLoader
        attr_reader :project_id

        def initialize(project_id)
          @project_id = project_id
        end

        def find
14
          BatchLoader::GraphQL.for(project_id).batch do |project_ids, loader|
15 16 17 18 19 20 21 22 23
            ProjectStatistics.for_project_ids(project_ids).each do |statistics|
              loader.call(statistics.project_id, statistics)
            end
          end
        end
      end
    end
  end
end