class RubyCritic::Generator::HtmlReport

Constants

ASSETS_DIR

Public Class Methods

new(analysed_modules) click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 16
def initialize(analysed_modules)
  @analysed_modules = analysed_modules
end

Public Instance Methods

browser() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 27
def browser
  @browser ||= RubyCritic::Browser.new(report_location)
end
generate_report() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 20
def generate_report
  create_directories_and_files
  copy_assets_to_report_directory
  puts "New critique at #{report_location}"
  browser.open unless Config.no_browser
end

Private Instance Methods

code_index_generator() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 50
def code_index_generator
  Html::CodeIndex.new(@analysed_modules)
end
copy_assets_to_report_directory() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 68
def copy_assets_to_report_directory
  FileUtils.cp_r(ASSETS_DIR, Config.root)
end
create_directories_and_files() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 33
def create_directories_and_files
  Array(generators).each do |generator|
    FileUtils.mkdir_p(generator.file_directory)
    File.open(generator.file_pathname, 'w+') do |file|
      file.write(generator.render)
    end
  end
end
file_generators() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 62
def file_generators
  @analysed_modules.map do |analysed_module|
    Html::CodeFile.new(analysed_module)
  end
end
generators() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 42
def generators
  [overview_generator, code_index_generator, smells_index_generator, simple_cov_index_generator] + file_generators
end
overview_generator() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 46
def overview_generator
  @overview_generator ||= Html::Overview.new(@analysed_modules)
end
report_location() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 72
def report_location
  overview_generator.file_href
end
simple_cov_index_generator() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 58
def simple_cov_index_generator
  Html::SimpleCovIndex.new(@analysed_modules)
end
smells_index_generator() click to toggle source
# File lib/rubycritic/generators/html_report.rb, line 54
def smells_index_generator
  Html::SmellsIndex.new(@analysed_modules)
end