Skip to content

Commit 0e045f7

Browse files
committed
Add class question to route subscriber generator
1 parent c13323d commit 0e045f7

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

scripts/run-sut-tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ if [ $TARGET_TEST = all -o $TARGET_TEST = service ]; then
191191
$DCG d8:service:logger -d $MODULE_DIR -a '{"name":"Zippo","machine_name":"zippo","class":"FileLog"}'
192192
$DCG d8:service:middleware -d $MODULE_DIR -a '{"name":"Dcg service","machine_name":"zippo","class":"ZippoMiddleware"}'
193193
$DCG d8:service:param-converter -d $MODULE_DIR -a '{"name":"Zippo","machine_name":"zippo","parameter_type":"example","class":"ExampleParamConverter"}'
194-
$DCG d8:service:route-subscriber -d $MODULE_DIR -a '{"name":"Zippo","machine_name":"zippo"}'
194+
$DCG d8:service:route-subscriber -d $MODULE_DIR -a '{"name":"Zippo","machine_name":"zippo","class":"ZippoRouteSubscriber"}'
195195
$DCG d8:service:theme-negotiator -d $MODULE_DIR -a '{"name":"Zippo","machine_name":"zippo","class":"ZippoThemeNegotiator"}'
196196
$DCG d8:service:twig-extension -d $MODULE_DIR -a '{"name":"Zippo","machine_name":"zippo","class":"ZippoTwigExtension","di":"No"}'
197197
$DCG d8:service:path-processor -d $MODULE_DIR -a '{"name":"Zippo","machine_name":"zippo","class":"PathProcessorZippo"}'

src/Command/Drupal_8/Service/RouteSubscriber.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use DrupalCodeGenerator\Utils;
77
use Symfony\Component\Console\Input\InputInterface;
88
use Symfony\Component\Console\Output\OutputInterface;
9+
use Symfony\Component\Console\Question\Question;
910

1011
/**
1112
* Implements d8:service:route-subscriber command.
@@ -20,10 +21,15 @@ class RouteSubscriber extends BaseGenerator {
2021
* {@inheritdoc}
2122
*/
2223
protected function interact(InputInterface $input, OutputInterface $output) {
23-
$questions = Utils::defaultQuestions();
24+
$questions = Utils::moduleQuestions();
2425

25-
$vars = &$this->collectVars($input, $output, $questions);
26-
$vars['class'] = Utils::camelize($vars['machine_name']) . 'RouteSubscriber';
26+
$default_class = function ($vars) {
27+
return Utils::camelize($vars['machine_name']) . 'RouteSubscriber';
28+
};
29+
$questions['class'] = new Question('Class', $default_class);
30+
$questions['class']->setValidator([Utils::class, 'validateClassName']);
31+
32+
$this->collectVars($input, $output, $questions);
2733

2834
$this->addFile()
2935
->path('src/EventSubscriber/{class}.php')

tests/dcg/Generator/Drupal_8/Service/RouteSubscriberTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class RouteSubscriberTest extends GeneratorBaseTest {
1414
protected $interaction = [
1515
'Module name [%default_name%]:' => 'Foo',
1616
'Module machine name [foo]:' => 'foo',
17+
'Class [FooRouteSubscriber]:' => 'FooRouteSubscriber',
1718
];
1819

1920
protected $fixtures = [

0 commit comments

Comments
 (0)