summaryrefslogtreecommitdiff
path: root/app/models/merge_request/metrics.rb
blob: 8c42c830fac64ffdc1259f66680a584ee741cd07 (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.merged? && self.merged_at.blank?
      self.merged_at = Time.now
    end

    self.save if self.changed?
  end

  def record_production_deploy!(deploy_time)
    self.update(first_deployed_to_production_at: deploy_time) if self.first_deployed_to_production_at.blank?
  end

  def record_latest_build_start_time!(start_time)
    self.update(latest_build_started_at: start_time, latest_build_finished_at: nil)
  end

  def record_latest_build_finish_time!(finish_time)
    self.update(latest_build_finished_at: finish_time)
  end
end