summaryrefslogtreecommitdiff
path: root/lib/gitlab/cycle_analytics/stage_summary.rb
blob: fc77bd86097243db5849a4c44f6f04bd54b098f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module Gitlab
  module CycleAnalytics
    class StageSummary
      def initialize(project, from:, current_user:)
        @project = project
        @from = from
        @current_user = current_user
      end

      def data
        [serialize(Summary::Issue.new(project: @project, from: @from, current_user: @current_user)),
         serialize(Summary::Commit.new(project: @project, from: @from)),
         serialize(Summary::Deploy.new(project: @project, from: @from))]
      end

      private

      def serialize(summary_object)
        AnalyticsSummarySerializer.new.represent(summary_object)
      end
    end
  end
end