class Undercover::Formatter
Public Class Methods
new(results)
click to toggle source
# File lib/undercover/formatter.rb, line 5 def initialize(results) @results = results end
Public Instance Methods
to_s()
click to toggle source
# File lib/undercover/formatter.rb, line 9 def to_s return success unless @results.any? ([warnings_header] + formatted_warnings).join("\n") end
Private Instance Methods
formatted_warnings()
click to toggle source
# File lib/undercover/formatter.rb, line 17 def formatted_warnings @results.map.with_index(1) do |res, idx| "🚨 #{idx}) node `#{res.node.name}` type: #{res.node.human_name},\n" + (' ' * pad_size) + "loc: #{res.file_path_with_lines}," \ " coverage: #{res.coverage_f * 100}%\n" + res.pretty_print end end
pad_size()
click to toggle source
# File lib/undercover/formatter.rb, line 37 def pad_size 5 + (@results.size - 1).to_s.length end
success()
click to toggle source
# File lib/undercover/formatter.rb, line 26 def success "#{Rainbow('undercover').bold.green}: ✅ No coverage" \ ' is missing in latest changes' end
warnings_header()
click to toggle source
# File lib/undercover/formatter.rb, line 31 def warnings_header "#{Rainbow('undercover').bold.red}: " \ '👮♂️ some methods have no test coverage! Please add specs for' \ ' methods listed below' end