summaryrefslogtreecommitdiff
path: root/app/models/merge_request/metrics.rb
blob: a0bc41c9cc16abf235fb9731e96e7f0cd9ede5e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class MergeRequest::Metrics < ActiveRecord::Base
  belongs_to :merge_request

  def record!
    if !merge_request.work_in_progress? && self.wip_flag_first_removed_at.blank?
      self.wip_flag_first_removed_at = Time.now
    end

    if merge_request.author_id != merge_request.assignee_id && self.first_assigned_to_user_other_than_author.blank?
      self.first_assigned_to_user_other_than_author = Time.now
    end

    if merge_request.merged? && self.merged_at.blank?
      self.merged_at = Time.now
    end

    if merge_request.closed? && self.first_closed_at.blank?
      self.first_closed_at = Time.now
    end

    self.save if self.changed?
  end
end