Class: PmdTester::LiquidProjectRenderer

Inherits:
Object
  • Object
show all
Includes:
PmdTester, CpdProjectHasher, LiquidRenderer, ProjectHasher
Defined in:
lib/pmdtester/builders/liquid_renderer.rb

Overview

Renders the index of a project diff report.

Constant Summary

Constants included from PmdTester

BASE, PATCH, PR_NUM_ENV_VAR, VERSION

Instance Method Summary collapse

Methods included from LiquidRenderer

#copy_resource, #render_and_write, #render_liquid, #write_file

Methods included from PmdTester

#logger, logger

Methods included from CpdProjectHasher

#cpd_errors_to_h, #cpd_report_diff_to_h, #duplications_to_hash

Methods included from ProjectHasher

#change_type, #configerror_to_hash, #configerrors_to_h, #error_to_hash, #errors_to_h, #link_template, #report_diff_to_h, #sanitize_stacktrace, #violations_to_hash

Instance Method Details

#write_project_index(project, root) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/pmdtester/builders/liquid_renderer.rb', line 49

def write_project_index(project, root)
  liquid_env = {
    'diff' => report_diff_to_h(project.report_diff),
    'error_diffs' => errors_to_h(project),
    'configerror_diffs' => configerrors_to_h(project),
    'cpd_diff' => cpd_report_diff_to_h(project.cpd_report_diff),
    'cpd_error_diffs' => cpd_errors_to_h(project),
    'project_name' => project.name
  }

  # Renders index.html using liquid
  write_file("#{root}/index.html", render_liquid('project_diff_report.html', liquid_env))
  write_pmd_diff_report(project, root)
  write_pmd_full_report(project, root)
  write_cpd_diff_report(project, root)
  write_cpd_full_report(project, root)
end