}
/**
- * Generator Service.
- *
- * @param string $module Module name
- * @param string $name Service name
- * @param string $class Class name
- * @param string $events
- * @param array $services List of services
+ * {@inheritdoc}
*/
- public function generate($module, $name, $class, $events, $services)
+ public function generate(array $parameters)
{
- $parameters = [
- 'module' => $module,
- 'name' => $name,
- 'class' => $class,
+ $module = $parameters['module'];
+ $class = $parameters['class'];
+ $moduleInstance = $this->extensionManager->getModule($module);
+ $modulePath = $moduleInstance->getPath() . '/' . $module;
+ $parameters = array_merge($parameters,
+ [
'class_path' => sprintf('Drupal\%s\EventSubscriber\%s', $module, $class),
- 'events' => $events,
- 'services' => $services,
'tags' => ['name' => 'event_subscriber'],
- 'file_exists' => file_exists($this->extensionManager->getModule($module)->getPath() .'/'.$module.'.services.yml'),
- ];
+ 'file_exists' => file_exists($modulePath . '.services.yml'),
+ ]);
$this->renderFile(
'module/src/event-subscriber.php.twig',
- $this->extensionManager->getModule($module)->getSourcePath().'/EventSubscriber/'.$class.'.php',
+ $moduleInstance->getSourcePath() . '/EventSubscriber/' . $class . '.php',
$parameters
);
$this->renderFile(
'module/services.yml.twig',
- $this->extensionManager->getModule($module)->getPath() .'/'.$module.'.services.yml',
+ $modulePath . '.services.yml',
$parameters,
FILE_APPEND
);