Class: RspecLogFormatter::Analysis::PrettyPrinter

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec_log_formatter/analysis/pretty_printer.rb

Instance Method Summary collapse

Constructor Details

#initialize(results) ⇒ PrettyPrinter

Returns a new instance of PrettyPrinter.



4
5
6
# File 'lib/rspec_log_formatter/analysis/pretty_printer.rb', line 4

def initialize(results)
  @results = results
end

Instance Method Details

#to_sObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rspec_log_formatter/analysis/pretty_printer.rb', line 8

def to_s
  results = @results.reject do |result|
    result[:percent] == 0.0
  end.first(10)

  header = if results.empty?
     "None of the specs were flaky"
   else
     "Top #{results.size} flakiest examples\n"
   end
  header + results.each_with_index.map do |result, i|
    title = "  #{i+1}) #{result[:description]} -- #{result[:percent]}%"
    failure_messages = result[:failure_messages].map { |fm| "    * #{fm}" }.join("\n")
    title + "\n" + failure_messages
  end.join("\n")
end