Module: Reviewer::Doctor

Defined in:
lib/reviewer/doctor.rb,
lib/reviewer/doctor/report.rb,
lib/reviewer/doctor/formatter.rb,
lib/reviewer/doctor/config_check.rb,
lib/reviewer/doctor/keyword_check.rb,
lib/reviewer/doctor/tool_inventory.rb,
lib/reviewer/doctor/discovery_check.rb,
lib/reviewer/doctor/environment_check.rb

Overview

Diagnostic module for checking configuration, tools, and environment health

Defined Under Namespace

Classes: ConfigCheck, DiscoveryCheck, EnvironmentCheck, Formatter, KeywordCheck, Report, ToolInventory

Class Method Summary collapse

Class Method Details

.run(configuration:, tools:, project_dir: Pathname.pwd) ⇒ Doctor::Report

Runs all diagnostic checks and returns a structured report

Parameters:

  • (defaults to: Pathname.pwd)

    the project root to scan

Returns:

  • the complete diagnostic report



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/reviewer/doctor.rb', line 18

def self.run(configuration:, tools:, project_dir: Pathname.pwd)
  report = Report.new
  configuration_state = ConfigCheck.new(report, configuration: configuration).check

  if configuration_state == :valid
    KeywordCheck.new(report, configuration: configuration, tools: tools).check
    ToolInventory.new(report, configuration: configuration, tools: tools).check
  end

  DiscoveryCheck.new(
    report,
    project_dir,
    configured_keys: report.configured_tools.map(&:key)
  ).check
  EnvironmentCheck.new(report).check
  report
end