Module: RailVerdict::Repair::Boundary

Defined in:
lib/rail_verdict/repair/boundary.rb

Class Method Summary collapse

Class Method Details

.snapshot(repository_root:, configuration:, outcome:) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rail_verdict/repair/boundary.rb', line 8

def self.snapshot(repository_root:, configuration:, outcome:)
  config_digest = configuration&.digest
  baseline_path = configuration ? Baseline.resolve_path(repository_root: repository_root, configuration: configuration) : nil
  waiver_path = configuration ? WaiverStore.resolve_path(repository_root: repository_root, configuration: configuration) : nil
  baseline_digest = file_digest(baseline_path)
  waivers_digest = file_digest(waiver_path)
  source_revision = outcome&.context&.revision
  base_revision = outcome&.context&.git_context&.base rescue nil
  base_revision ||= outcome&.result&.git&.fetch("base", nil) rescue nil
  {
    "configuration_digest" => config_digest || Digest::SHA256.hexdigest(""),
    "baseline_digest" => baseline_digest,
    "waivers_digest" => waivers_digest,
    "base_revision" => base_revision,
    "source_revision" => source_revision
  }
end