Module: MetzScan::Calibration::ProjectAnalyzerEvidenceRunner

Defined in:
lib/metz_scan/calibration/project_analyzer_evidence_runner.rb,
lib/metz_scan/calibration/project_analyzer_evidence_runner/summary.rb,
lib/metz_scan/calibration/project_analyzer_evidence_runner/target_set.rb,
lib/metz_scan/calibration/project_analyzer_evidence_runner/collaborators.rb,
lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb,
lib/metz_scan/calibration/project_analyzer_evidence_runner/artifact_writer.rb,
lib/metz_scan/calibration/project_analyzer_evidence_runner/markdown_renderer.rb,
lib/metz_scan/calibration/project_analyzer_evidence_runner/readiness_catalog.rb

Defined Under Namespace

Classes: AnalyzerSelection, ArtifactWriter, BaselineDelta, BaselineFile, Error, FindingRunner, GitMetadata, IndexMetadata, MarkdownRenderer, NoScanIndex, NotableFindings, ReadinessCatalog, Summary, SummaryPayload, TargetRun, TargetSet

Constant Summary collapse

DEFAULT_APPS_PATH =
File.join("tmp", "project-analyzer-calibration", "apps").freeze
DEFAULT_RESULTS_PATH =
File.join("tmp", "project-analyzer-calibration", "results").freeze

Class Method Summary collapse

Class Method Details

.collaborator_options(options, analyzers) ⇒ Object



50
51
52
53
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner.rb', line 50

def self.collaborator_options(options, analyzers)
  { index_builder: options[:index_builder] || ProjectIndex.method(:build),
    finding_runner: options[:finding_runner] || FindingRunner.new(analyzers: analyzers) }
end

.default_apps_pathObject



18
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner.rb', line 18

def self.default_apps_path = File.expand_path(DEFAULT_APPS_PATH)

.default_results_pathObject



20
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner.rb', line 20

def self.default_results_path = File.expand_path(DEFAULT_RESULTS_PATH)

.summarize(**options) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner.rb', line 22

def self.summarize(**options)
  options = summarize_options(options)
  targets = target_set(options[:paths], options[:targets_file])
  resolved_summary_options = summary_options(targets, options)
  targets.ensure_present!
  Summary.new(resolved_summary_options).to_h
end

.summarize_options(options) ⇒ Object



38
39
40
41
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner.rb', line 38

def self.summarize_options(options)
  { paths: nil, default_output: false, analyzer_names: nil, targets_file: nil,
    baseline_file: nil, index_builder: nil, finding_runner: nil }.merge(options)
end

.write_artifacts(summary, output_dir: default_results_path, run_id: nil) ⇒ Object



30
31
32
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner.rb', line 30

def self.write_artifacts(summary, output_dir: default_results_path, run_id: nil)
  ArtifactWriter.new(summary: summary, output_dir: output_dir, run_id: run_id).call
end