-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
ExampleGenerator.php
40 lines (32 loc) · 1.16 KB
/
ExampleGenerator.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
namespace Drupal\woot\Generators;
use DrupalCodeGenerator\Command\BaseGenerator;
use DrupalCodeGenerator\Utils;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class ExampleGenerator extends BaseGenerator
{
protected $name = 'woot-example';
protected $description = 'Generates a woot.';
protected $alias = 'wootex';
protected $templatePath = __DIR__;
// We don't actually use this service. This illustrates how to inject a dependency into a Generator.
protected $moduleHandler;
public function __construct($moduleHandler = null, $name = null)
{
parent::__construct($name);
$this->moduleHandler = $moduleHandler;
}
/**
* {@inheritdoc}
*/
protected function interact(InputInterface $input, OutputInterface $output)
{
$questions = Utils::moduleQuestions();
$vars = &$this->collectVars($input, $output, $questions);
$vars['class'] = Utils::camelize('Example_' . $vars['machine_name'] . '_Commands');
$this->addFile()
->path('Commands/{class}.php')
->template('example-generator.twig');
}
}