Class: CleoQualityReview::Runner

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/cleo_quality_review/runner.rb

Overview

Orchestrates a complete quality review run

Defined Under Namespace

Classes: AnalysisContext, Dependencies

Instance Method Summary collapse

Constructor Details

#initialize(options:, **dependencies) ⇒ Runner

Returns a new instance of Runner.

Parameters:

  • options (Options::ParseResult)

    parsed command-line options

  • dependencies (Hash)

    optional runtime collaborators for tests or alternate runners



58
59
60
61
# File 'lib/cleo_quality_review/runner.rb', line 58

def initialize(options:, **dependencies)
  @options = options
  @dependencies = Dependencies.for(options, dependencies)
end

Instance Method Details

#runRun

Execute the quality review

Returns:

  • (Run)

    results of the quality review



66
67
68
69
70
71
72
# File 'lib/cleo_quality_review/runner.rb', line 66

def run
  context = analysis_context
  artifacts = prepare_artifacts(context)
  return reusable_run(artifacts) if artifacts.complete?

  execute_fresh_run(context, artifacts)
end