Class: Dontbugme::Formatters::Diff

Inherits:
Object
  • Object
show all
Defined in:
lib/dontbugme/formatters/diff.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(trace_a, trace_b) ⇒ Diff

Returns a new instance of Diff.



12
13
14
15
16
# File 'lib/dontbugme/formatters/diff.rb', line 12

def initialize(trace_a, trace_b)
  @trace_a = trace_a
  @trace_b = trace_b
  @alignment = align_spans
end

Class Method Details

.format(trace_a, trace_b) ⇒ Object



8
9
10
# File 'lib/dontbugme/formatters/diff.rb', line 8

def self.format(trace_a, trace_b)
  new(trace_a, trace_b).format
end

Instance Method Details

#formatObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/dontbugme/formatters/diff.rb', line 18

def format
  lines = []
  lines << ''
  lines << "  #{@trace_a.identifier} — Execution Diff"
  lines << '  ' + ('─' * 60)
  lines << ''
  lines << "  Trace A: #{@trace_a.id} (#{@trace_a.status}, #{duration_str(@trace_a)})"
  lines << "  Trace B: #{@trace_b.id} (#{@trace_b.status}, #{duration_str(@trace_b)})"
  lines << ''

  @alignment.each do |result|
    lines << format_result(result)
  end

  lines << ''
  lines.join("\n")
end