class RuboCop::Formatter::HTMLFormatter::ERBContext
This class provides helper methods used in the ERB template.
def base64_encoded_logo_image
def base64_encoded_logo_image image = File.read(LOGO_IMAGE_PATH, binmode: true) Base64.encode64(image) end
def binding
def binding super end
def decorated_message(offense)
def decorated_message(offense) offense.message.gsub(/`(.+?)`/) do "<code>#{Regexp.last_match(1)}</code>" end end
def escape(string)
def escape(string) CGI.escapeHTML(string) end
def highlighted_source_line(offense)
def highlighted_source_line(offense) source_before_highlight(offense) + hightlight_source_tag(offense) + source_after_highlight(offense) + possible_ellipses(offense.location) end
def hightlight_source_tag(offense)
def hightlight_source_tag(offense) "<span class=\"highlight #{offense.severity}\">" \ "#{escape(offense.highlighted_area.source)}" \ '</span>' end
def initialize(files, summary)
def initialize(files, summary) @files = files.sort_by(&:path) @summary = summary end
def possible_ellipses(location)
def possible_ellipses(location) location.first_line == location.last_line ? '' : " #{ELLIPSES}" end
def source_after_highlight(offense)
def source_after_highlight(offense) source_line = offense.location.source_line escape(source_line[offense.highlighted_area.end_pos..-1]) end
def source_before_highlight(offense)
def source_before_highlight(offense) source_line = offense.location.source_line escape(source_line[0...offense.highlighted_area.begin_pos]) end