Class: RuboCop::Formatter::HTMLFormatter::ERBContext
- Inherits:
-
Object
- Object
- RuboCop::Formatter::HTMLFormatter::ERBContext
- Defined in:
- lib/rubocop/formatter/html_formatter.rb
Overview
This class provides helper methods used in the ERB template.
Constant Summary collapse
- SEVERITY_COLORS =
{ refactor: Color.new(0xED, 0x9C, 0x28, 1.0), convention: Color.new(0xED, 0x9C, 0x28, 1.0), warning: Color.new(0x96, 0x28, 0xEF, 1.0), error: Color.new(0xD2, 0x32, 0x2D, 1.0), fatal: Color.new(0xD2, 0x32, 0x2D, 1.0) }.freeze
- LOGO_IMAGE_PATH =
File.('../../../assets/logo.png', __dir__)
Instance Attribute Summary collapse
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#summary ⇒ Object
readonly
Returns the value of attribute summary.
Instance Method Summary collapse
- #base64_encoded_logo_image ⇒ Object
-
#binding ⇒ Object
Make Kernel#binding public.
-
#decorated_message(offense) ⇒ Object
rubocop:enable Lint/UselessMethodDefinition.
- #escape(string) ⇒ Object
- #highlighted_source_line(offense) ⇒ Object
- #hightlight_source_tag(offense) ⇒ Object
-
#initialize(files, summary) ⇒ ERBContext
constructor
A new instance of ERBContext.
- #possible_ellipses(location) ⇒ Object
- #source_after_highlight(offense) ⇒ Object
- #source_before_highlight(offense) ⇒ Object
Methods included from TextUtil
Methods included from PathUtil
absolute?, hidden_dir?, hidden_file?, hidden_file_in_not_hidden_dir?, match_path?, maybe_hidden_file?, relative_path, smart_path
Constructor Details
#initialize(files, summary) ⇒ ERBContext
Returns a new instance of ERBContext.
87 88 89 90 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 87 def initialize(files, summary) @files = files.sort_by(&:path) @summary = summary end |
Instance Attribute Details
#files ⇒ Object (readonly)
Returns the value of attribute files
85 86 87 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 85 def files @files end |
#summary ⇒ Object (readonly)
Returns the value of attribute summary
85 86 87 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 85 def summary @summary end |
Instance Method Details
#base64_encoded_logo_image ⇒ Object
136 137 138 139 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 136 def base64_encoded_logo_image image = File.read(LOGO_IMAGE_PATH, binmode: true) Base64.encode64(image) end |
#binding ⇒ Object
Make Kernel#binding public. rubocop:disable Lint/UselessMethodDefinition
94 95 96 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 94 def binding super end |
#decorated_message(offense) ⇒ Object
rubocop:enable Lint/UselessMethodDefinition
99 100 101 102 103 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 99 def (offense) offense..gsub(/`(.+?)`/) do "<code>#{Regexp.last_match(1)}</code>" end end |
#escape(string) ⇒ Object
132 133 134 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 132 def escape(string) CGI.escapeHTML(string) end |
#highlighted_source_line(offense) ⇒ Object
105 106 107 108 109 110 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 105 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) ⇒ Object
112 113 114 115 116 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 112 def hightlight_source_tag(offense) "<span class=\"highlight #{offense.severity}\">" \ "#{escape(offense.highlighted_area.source)}" \ '</span>' end |
#possible_ellipses(location) ⇒ Object
128 129 130 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 128 def possible_ellipses(location) location.first_line == location.last_line ? '' : " #{ELLIPSES}" end |
#source_after_highlight(offense) ⇒ Object
123 124 125 126 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 123 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) ⇒ Object
118 119 120 121 |
# File 'lib/rubocop/formatter/html_formatter.rb', line 118 def source_before_highlight(offense) source_line = offense.location.source_line escape(source_line[0...offense.highlighted_area.begin_pos]) end |