Sha256: f3a22d9ed33aee3d52108836a9a3293a1bef6db81888e8b2bfd2673c71f90b0d

Contents?: true

Size: 1.26 KB

Versions: 25

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

require 'rubycritic/generators/html/base'

module RubyCritic
  module Generator
    module Html
      class SmellsIndex < Base
        TEMPLATE = erb_template('smells_index.html.erb')

        def initialize(analysed_modules)
          @smells = analysed_modules.flat_map(&:smells).uniq
          @analysed_module_names = analysed_module_names(analysed_modules)
          @show_status = (Config.mode == :default)
          set_header_links if Config.compare_branches_mode?
        end

        def set_header_links
          @base_path = code_index_path(Config.base_root_directory, file_name)
          @feature_path = code_index_path(Config.feature_root_directory, file_name)
          @build_path = code_index_path(Config.compare_root_directory, file_name)
        end

        def file_name
          'smells_index.html'
        end

        def render
          index_body = TEMPLATE.result(base_binding)
          LAYOUT_TEMPLATE.result(base_binding { index_body })
        end

        private

        def analysed_module_names(analysed_modules)
          names = {}
          analysed_modules.each do |analysed_module|
            names[analysed_module.pathname] = analysed_module.name
          end
          names
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
rubycritic-4.9.1 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.9.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.8.1 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.8.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.7.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.6.1 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.6.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.5.2 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.5.1 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.5.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.4.1 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.4.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.3.3 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.3.2 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.3.1 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.3.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.2.2 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.2.1 lib/rubycritic/generators/html/smells_index.rb
rubycritic-4.2.0 lib/rubycritic/generators/html/smells_index.rb
rubycritic-simplecov-4.1.1 lib/rubycritic/generators/html/smells_index.rb