class RuboCop::Formatter::HTMLFormatter
This formatter saves the output as an html file.
def file_finished(file, offenses)
def file_finished(file, offenses) files << OpenStruct.new(path: file, offenses: offenses) summary.offense_count += offenses.count end
def finished(inspected_files)
def finished(inspected_files) summary.inspected_files = inspected_files render_html end
def initialize(output, options = {})
def initialize(output, options = {}) super @files = [] @summary = OpenStruct.new(offense_count: 0) end
def render_html
def render_html context = ERBContext.new(files, summary) template = File.read(TEMPLATE_PATH, encoding: Encoding::UTF_8) # The following condition is workaround for until Ruby 2.6 is released. # https://github.com/ruby/ruby/commit/cc777d09f44fa909a336ba14f3aa802ffe16e010 erb = if RUBY_VERSION >= '2.6' ERB.new(template, trim_mode: '-') else ERB.new(template, nil, '-') end html = erb.result(context.binding) output.write html end
def started(target_files)
def started(target_files) summary.target_files = target_files end