class RuboCop::Formatter::HTMLFormatter::ERBContext

This class provides helper methods used in the ERB template.

Constants

LOGO_IMAGE_PATH
SEVERITY_COLORS

Attributes

files[R]
summary[R]

Public Class Methods

new(files, summary) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 87
def initialize(files, summary)
  @files = files.sort_by(&:path)
  @summary = summary
end

Public Instance Methods

base64_encoded_logo_image() click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 134
def base64_encoded_logo_image
  image = File.read(LOGO_IMAGE_PATH, binmode: true)
  Base64.encode64(image)
end
binding() click to toggle source

Make Kernel#binding public.

Calls superclass method
# File lib/rubocop/formatter/html_formatter.rb, line 93
def binding
  super
end
decorated_message(offense) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 97
def decorated_message(offense)
  offense.message.gsub(/`(.+?)`/) do
    "<code>#{Regexp.last_match(1)}</code>"
  end
end
escape(string) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 130
def escape(string)
  CGI.escapeHTML(string)
end
highlighted_source_line(offense) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 103
def highlighted_source_line(offense)
  source_before_highlight(offense) +
    hightlight_source_tag(offense) +
    source_after_highlight(offense) +
    possible_ellipses(offense.location)
end
hightlight_source_tag(offense) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 110
def hightlight_source_tag(offense)
  "<span class=\"highlight #{offense.severity}\">" \
    "#{escape(offense.highlighted_area.source)}" \
    '</span>'
end
possible_ellipses(location) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 126
def possible_ellipses(location)
  location.first_line == location.last_line ? '' : " #{ELLIPSES}"
end
source_after_highlight(offense) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 121
def source_after_highlight(offense)
  source_line = offense.location.source_line
  escape(source_line[offense.highlighted_area.end_pos..-1])
end
source_before_highlight(offense) click to toggle source
# File lib/rubocop/formatter/html_formatter.rb, line 116
def source_before_highlight(offense)
  source_line = offense.location.source_line
  escape(source_line[0...offense.highlighted_area.begin_pos])
end