Class: MonkeyLens::Formatter::Text

Inherits:
Object
  • Object
show all
Defined in:
lib/monkey_lens/formatter/text.rb

Instance Method Summary collapse

Constructor Details

#initialize(result) ⇒ Text

Returns a new instance of Text.



6
7
8
# File 'lib/monkey_lens/formatter/text.rb', line 6

def initialize(result)
  @result = result
end

Instance Method Details

#renderObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/monkey_lens/formatter/text.rb', line 10

def render
  return "MonkeyLens PASS — no runtime drift detected" if @result.clean?

  counts = Change::LEVELS.keys.map do |level|
    "#{@result.changes.count { |change| change.severity == level }} #{level}"
  end.join(", ")

  lines = ["MonkeyLens DRIFT — #{counts}", ""]
  @result.changes.each do |change|
    subject = change.method_id || change.target
    lines << "[#{change.severity.upcase}] #{change.type} #{subject}"
    lines << "  #{change.message}"
    lines << "  before: #{change.before.inspect}" unless change.before.nil?
    lines << "  after:  #{change.after.inspect}" unless change.after.nil?
    lines << ""
  end
  lines.join("\n").rstrip
end