/**
  * Handle the delete analysis command.
  *
  * @param \StyleCI\StyleCI\Commands\Analysis\DeleteAnalysisCommand $command
  *
  * @return void
  */
 public function handle(DeleteAnalysisCommand $command)
 {
     $analysis = $command->analysis;
     if (in_array($analysis->status, Analysis::HAS_DIFF, true)) {
         $this->storage->delete($analysis->id);
     }
     $analysis->delete();
 }
 /**
  * Run the analysis.
  *
  * @param \StyleCI\StyleCI\Models\Analysis $analysis
  *
  * @return void
  */
 protected function runAnalysis(Analysis $analysis)
 {
     $report = $this->builder->analyze($analysis->repo->name, $analysis->repo->id, $analysis->commit, $analysis->branch, $analysis->pr, $analysis->repo->default_branch);
     if ($report->binary()) {
         $analysis->status = Analysis::CONFIG_ISSUES;
         $analysis->error = 'We cannot analyze binary files. The finder config needs adjusting to exclude such files.';
         return;
     }
     if ($errors = $report->errors()) {
         $analysis->status = Analysis::INTERNAL;
         $analysis->errors = $errors;
         return;
     }
     $successful = $report->successful();
     $lints = $report->lints();
     if ($successful && $lints) {
         $analysis->status = Analysis::SYNTAX_ISSUES;
         $analysis->errors = $lints;
     } elseif (!$successful && $lints) {
         $analysis->status = Analysis::BOTH_ISSUES;
         $analysis->errors = $lints;
     } elseif ($successful && !$lints) {
         $analysis->status = Analysis::PASSED;
     } else {
         $analysis->status = Analysis::CS_ISSUES;
     }
     if (!$successful) {
         $this->storage->put($analysis->id, $report->diff());
     }
 }
Exemplo n.º 3
0
 /**
  * Get the raw diff.
  *
  * @return string|null
  */
 protected function raw_diff()
 {
     if ($this->has_diff()) {
         return $this->storage->get($this->wrappedObject->id);
     }
 }