/** * @param \Symfony\Component\Console\Output\OutputInterface $output * @param \PHPSemVerChecker\Report\Report $report * @param string $context */ protected function outputTable(OutputInterface $output, Report $report, $context) { $table = new Table($output); $table->setHeaders(['Level', 'Location', 'Target', 'Reason', 'Code']); foreach (Level::asList('desc') as $level) { $reportForLevel = $report[$context][$level]; /** @var \PHPSemVerChecker\Operation\Operation $operation */ foreach ($reportForLevel as $operation) { $table->addRow([Level::toString($level), $this->getLocation($operation), $operation->getTarget(), $operation->getReason(), $operation->getCode()]); } } $table->render(); }
public function getOutput() { $output = []; $output['level'] = Level::toString($this->report->getSuggestedLevel()); $output['changes'] = []; $contexts = ['class', 'function', 'interface', 'trait']; $differences = $this->report->getDifferences(); foreach ($contexts as $context) { foreach (Level::asList('desc') as $level) { $reportForLevel = $differences[$context][$level]; /** @var \PHPSemVerChecker\Operation\Operation $operation */ foreach ($reportForLevel as $operation) { $output['changes'][$context][] = ['level' => Level::toString($level), 'location' => $operation->getLocation(), 'line' => $operation->getLine(), 'target' => $operation->getTarget(), 'reason' => $operation->getReason(), 'code' => $operation->getCode()]; } } } return $output; }
/** * @return int */ public function getSuggestedLevel() { foreach (Level::asList('desc') as $level) { foreach ($this->differences as $context => $levels) { if (!empty($levels[$level])) { return $level; } } } return Level::NONE; }