Exemple #1
0
 /**
  * Display validation errors.
  *
  * @param Validator       $validator The json-schema validator.
  * @param OutputInterface $output    An OutputInterface instance.
  */
 public static function displayErrors(Validator $validator, OutputInterface $output)
 {
     $table = new Table($output);
     $style = new TableStyle();
     $style->setCellHeaderFormat('<error>%s</error>');
     $style->setHorizontalBorderChar(' ');
     $style->setVerticalBorderChar(' ');
     $style->setCrossingChar(' ');
     $table->setHeaders(['Property', 'Error']);
     $table->setRows($validator->getErrors());
     $table->setStyle($style);
     $table->render();
 }
Exemple #2
0
 /**
  * {@inheritDoc}
  */
 protected function doExecute()
 {
     $table = new Table($this->output);
     $table->setHeaders(['Name', 'Description']);
     $style = new TableStyle();
     $style->setCellHeaderFormat('<fg=red>%s</fg=red>');
     $style->setCellRowFormat('<fg=blue>%s</fg=blue>');
     $style->setBorderFormat('<fg=yellow>%s</fg=yellow>');
     $table->setStyle($style);
     /** @type AbstractTask[] $services */
     $services = $this->container->get('bldr.registry.task')->findAll();
     foreach ($services as $service) {
         if ($service instanceof AbstractTask) {
             $service->configure();
         }
         $table->addRow([$service->getName(), $service->getDescription() !== '' ? $service->getDescription() : 'No Description']);
     }
     $table->render($this->output);
 }
Exemple #3
0
 /**
  * {@inheritDoc}
  */
 protected function doExecute()
 {
     /** @type AbstractTask $service */
     $service = $this->container->get('bldr.registry.task')->findTaskByType($this->input->getArgument('task'));
     $this->output->writeln('');
     $this->output->writeln('<fg=green>Task Name</fg=green>: ' . $service->getName());
     if ($service->getDescription() !== null) {
         $this->output->writeln('<fg=green>Task Description</fg=green>: ' . $service->getDescription());
     }
     if ($service instanceof AbstractTask) {
         $this->output->writeln(['', '<fg=green>Options:</fg=green>']);
         $tableHelper = new Table($this->output);
         $style = new TableStyle();
         $style->setCellHeaderFormat('<fg=red>%s</fg=red>');
         $style->setCellRowFormat('<fg=blue>%s</fg=blue>');
         $style->setBorderFormat('<fg=yellow>%s</fg=yellow>');
         $tableHelper->setStyle($style);
         $tableHelper->setHeaders(['Option', 'Description', 'Required', "Default"]);
         foreach ($service->getParameterDefinition() as $option) {
             $tableHelper->addRow([$option['name'], $option['description'] !== '' ? $option['description'] : 'No Description', $option['required'] ? 'Yes' : 'No', json_encode($option['default'])]);
         }
         $tableHelper->render();
     }
 }
 /**
  * @param string[] $rows
  * @param string[] $headers
  */
 public function table(array $rows, array $headers = null)
 {
     $rows = array_map(function ($value) {
         if (!is_array($value)) {
             return $value;
         }
         $header = array_shift($value);
         array_unshift($value, sprintf('<fg=blue>%s</>', $header));
         return $value;
     }, $rows);
     $style = new TableStyle();
     $style->setVerticalBorderChar('<fg=blue>|</>');
     $style->setHorizontalBorderChar('<fg=blue>-</>');
     $style->setCrossingChar('<fg=blue>+</>');
     $style->setCellHeaderFormat('%s');
     $table = new Table($this);
     $table->setStyle($style);
     if ($headers) {
         $table->setHeaders($headers);
     }
     $table->setRows($rows);
     $table->render();
     $this->newLine();
 }