summaryrefslogtreecommitdiff
path: root/lib/gitlab/cycle_analytics/code_event.rb
blob: 609b45579b4a25064ccd66c210748e9a8a0ac20d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
module Gitlab
  module CycleAnalytics
    class CodeEvent < BaseEvent
      @stage = :code
      @start_time_attrs = issue_metrics_table[:first_mentioned_in_commit_at]

      @end_time_attrs = mr_table[:created_at]

      @projections = [mr_table[:title],
                      mr_table[:iid],
                      mr_table[:id],
                      mr_table[:created_at],
                      mr_table[:state],
                      mr_table[:author_id]]

      @order = mr_table[:created_at]

      def self.serialize(event, query)
        event['author'] = User.find(event.delete('author_id'))

        AnalyticsMergeRequestSerializer.new(project: query.project).represent(event).as_json
      end
    end
  end
end