Sha256: 214d96a014f08e51bc1773185093eefa1ccfed644597f7ed4fc6b689bf3717b1
Contents?: true
Size: 1.12 KB
Versions: 11
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true require "pastel" module Git module Lint module Reporters # Reports issues related to a single style. class Style def initialize analyzer, colorizer: Pastel.new @analyzer = analyzer @issue = analyzer.issue @colorizer = colorizer end def to_s colorizer.public_send color, message end private attr_reader :analyzer, :issue, :colorizer def message " #{analyzer.class.label}#{severity_suffix}. " \ "#{issue.fetch :hint}\n" \ "#{affected_lines}" end def severity_suffix case analyzer.severity when :warn then " Warning" when :error then " Error" else "" end end def color case analyzer.severity when :warn then :yellow when :error then :red else :white end end def affected_lines issue.fetch(:lines, []).reduce("") { |lines, line| lines + Line.new(line).to_s } end end end end end
Version data entries
11 entries across 11 versions & 1 rubygems