Mercurial > hg > cmmr2012-drupal-site
diff vendor/chi-teck/drupal-code-generator/src/Command/Other/DrupalConsoleCommand.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/chi-teck/drupal-code-generator/src/Command/Other/DrupalConsoleCommand.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,41 @@ +<?php + +namespace DrupalCodeGenerator\Command\Other; + +use DrupalCodeGenerator\Command\BaseGenerator; +use DrupalCodeGenerator\Utils; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Question\ConfirmationQuestion; +use Symfony\Component\Console\Question\Question; + +/** + * Implements other:drupal-console-command command. + */ +class DrupalConsoleCommand extends BaseGenerator { + + protected $name = 'other:drupal-console-command'; + protected $description = 'Generates Drupal Console command'; + protected $alias = 'drupal-console-command'; + + /** + * {@inheritdoc} + */ + protected function interact(InputInterface $input, OutputInterface $output) { + + $questions = Utils::defaultQuestions() + [ + 'command_name' => new Question('Command name', '{machine_name}:example'), + 'description' => new Question('Command description', 'Command description.'), + 'container_aware' => new ConfirmationQuestion('Make the command aware of the drupal site installation?', TRUE), + ]; + + $vars = &$this->collectVars($input, $output, $questions); + $vars['class'] = Utils::camelize(str_replace(':', '_', $vars['command_name'])) . 'Command'; + $vars['command_trait'] = $vars['container_aware'] ? 'ContainerAwareCommandTrait' : 'CommandTrait'; + + $this->addFile() + ->path('src/Command/{class}.php') + ->template('other/drupal-console-command.twig'); + } + +}