Chris@0: destination = Utils::getHomeDirectory() . '/.dcg/Command'; Chris@0: parent::configure(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function interact(InputInterface $input, OutputInterface $output) { Chris@0: Chris@0: $questions = [ Chris@0: 'name' => new Question('Command name', 'custom:example'), Chris@0: 'description' => new Question('Command description', 'Some description'), Chris@0: 'alias' => new Question('Command alias', 'example'), Chris@0: ]; Chris@0: Chris@0: $vars = &$this->collectVars($input, $output, $questions); Chris@0: Chris@0: $sub_names = explode(':', $vars['name']); Chris@0: $last_sub_name = array_pop($sub_names); Chris@0: $vars['class'] = Utils::camelize($last_sub_name); Chris@0: $vars['namespace'] = 'DrupalCodeGenerator\Command'; Chris@0: $vars['template_name'] = $last_sub_name . '.twig'; Chris@0: Chris@0: $vars['path'] = ''; Chris@0: $file_path = ''; Chris@0: if ($sub_names) { Chris@0: $vars['namespace'] .= '\\' . implode('\\', $sub_names); Chris@0: $file_path = implode(DIRECTORY_SEPARATOR, $sub_names); Chris@0: $vars['path'] = '/' . $file_path; Chris@0: } Chris@0: Chris@0: $this->addFile() Chris@0: ->path($file_path . '/{class}.php') Chris@0: ->template('other/dcg-command.twig'); Chris@0: Chris@0: $this->addFile() Chris@0: ->path($file_path . '/{template_name}') Chris@0: ->template('other/dcg-command-template.twig'); Chris@0: } Chris@0: Chris@0: }