summaryrefslogtreecommitdiff
path: root/lib/gitlab/graphql/loaders/batch_project_statistics_loader.rb
blob: 5e151f4dbd754598d29d04dc24f4c24a8ed793df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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
          BatchLoader.for(project_id).batch do |project_ids, loader|
            ProjectStatistics.for_project_ids(project_ids).each do |statistics|
              loader.call(statistics.project_id, statistics)
            end
          end
        end
      end
    end
  end
end