Sha256: 999d1ee330cce649c62ade7c4badd1bd37ec9695778e31e988e5d0e2346f4cc0
Contents?: true
Size: 1.97 KB
Versions: 25
Compression:
Stored size: 1.97 KB
Contents
# frozen_string_literal: true module PlatformosCheck class Printer def initialize(out_stream = STDOUT) @out = out_stream end def print(platformos_app, offenses, auto_correct) offenses.each do |offense| print_offense(offense, auto_correct) @out.puts end correctable = offenses.select(&:correctable?) @out.puts "#{platformos_app.all.size} files inspected, #{red(offenses.size.to_s + ' offenses')} detected, \ #{yellow(correctable.size.to_s + ' offenses')} #{auto_correct ? 'corrected' : 'auto-correctable'}" end def print_offense(offense, auto_correct) location = if offense.location blue(offense.location) + ": " else "" end corrected = if auto_correct && offense.correctable? green("[Corrected] ") else "" end @out.puts location + colorized_severity(offense.severity) + ": " + yellow(offense.check_name) + ": " + corrected + offense.message + "." return unless offense.source_excerpt @out.puts "\t#{offense.source_excerpt}" return unless offense.markup_start_in_excerpt @out.puts "\t" + (" " * offense.markup_start_in_excerpt) + ("^" * offense.markup.size) end private def colorize(str, color_code) "\e[#{color_code}m#{str}\e[0m" end def colorized_severity(severity) case severity when :error red(severity) when :suggestion pink(severity) when :style light_blue(severity) end end def red(str) colorize(str, 31) end def green(str) colorize(str, 32) end def yellow(str) colorize(str, 33) end def blue(str) colorize(str, 34) end def pink(str) colorize(str, 35) end def light_blue(str) colorize(str, 36) end end end
Version data entries
25 entries across 25 versions & 1 rubygems