Sha256: 69aeaf763317871da7ef1c2b147fea4a8bc68bac834711eae06b427719536072

Contents?: true

Size: 781 Bytes

Versions: 3

Compression:

Stored size: 781 Bytes

Contents

# frozen_string_literal: true

require 'cgi'
require 'rubycritic/generators/html/base'

module RubyCritic
  module Generator
    module Html
      class Line < Base
        NORMAL_TEMPLATE = erb_template('line.html.erb')
        SMELLY_TEMPLATE = erb_template('smelly_line.html.erb')

        attr_reader :file_directory

        def initialize(file_directory, text, smells)
          @file_directory = file_directory
          @text = CGI.escapeHTML(text.chomp)
          @smells = smells
        end

        def render
          "#{template.result(binding).delete("\n")}\n"
        end

        private

        def template
          if @smells.empty?
            NORMAL_TEMPLATE
          else
            SMELLY_TEMPLATE
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubycritic-4.9.1 lib/rubycritic/generators/html/line.rb
rubycritic-4.9.0 lib/rubycritic/generators/html/line.rb
rubycritic-4.8.1 lib/rubycritic/generators/html/line.rb