/** * 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()); } }
/** * Get the raw diff. * * @return string|null */ protected function raw_diff() { if ($this->has_diff()) { return $this->storage->get($this->wrappedObject->id); } }