Class: Rubycritic::LineGenerator

Inherits:
BaseGenerator show all
Defined in:
lib/rubycritic/report_generators/line_generator.rb

Constant Summary collapse

LINE_NUMBER_PADDING =
3
NORMAL_TEMPLATE =
ERB.new(File.read(File.join(TEMPLATES_DIR, "line.html.erb")))
SMELLY_TEMPLATE =
ERB.new(File.read(File.join(TEMPLATES_DIR, "smelly_line.html.erb")))

Constants inherited from BaseGenerator

BaseGenerator::REPORT_DIR, BaseGenerator::TEMPLATES_DIR

Instance Method Summary collapse

Methods inherited from BaseGenerator

#file_directory, #file_name, #file_pathname, #get_binding, #index_path, #stylesheet_path

Constructor Details

#initialize(text, number, smells) ⇒ LineGenerator

Returns a new instance of LineGenerator.



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/rubycritic/report_generators/line_generator.rb', line 12

def initialize(text, number, smells)
  @text = CGI::escapeHTML(text.chomp)
  @number = number.to_s.rjust(LINE_NUMBER_PADDING)
  @smells = smells
  @template =
    if @smells.empty?
      NORMAL_TEMPLATE
    else
      SMELLY_TEMPLATE
    end
end

Instance Method Details

#renderObject



24
25
26
# File 'lib/rubycritic/report_generators/line_generator.rb', line 24

def render
  @template.result(binding).delete("\n") + "\n"
end