3 namespace DrupalCodeGenerator\Command\Drupal_8\Plugin\Migrate;
5 use DrupalCodeGenerator\Command\BaseGenerator;
6 use DrupalCodeGenerator\Utils;
7 use Symfony\Component\Console\Input\InputInterface;
8 use Symfony\Component\Console\Output\OutputInterface;
9 use Symfony\Component\Console\Question\Question;
12 * Implements d8:plugin:migrate:process command.
14 class Process extends BaseGenerator {
16 protected $name = 'd8:plugin:migrate:process';
17 protected $description = 'Generates migrate process plugin';
18 protected $alias = 'migrate-process';
23 protected function interact(InputInterface $input, OutputInterface $output) {
25 $questions = Utils::defaultQuestions();
26 $questions['plugin_id'] = new Question('Plugin ID', '{machine_name}_example');
27 $questions['plugin_id']->setValidator([Utils::class, 'validateMachineName']);
29 $vars = &$this->collectVars($input, $output, $questions);
31 $unprefixed_plugin_id = preg_replace('/^' . $vars['machine_name'] . '_/', '', $vars['plugin_id']);
32 $vars['class'] = Utils::camelize($unprefixed_plugin_id);
35 ->path('src/Plugin/migrate/process/{class}.php')
36 ->template('d8/plugin/migrate/process.twig');