Security update for Core, with self-updated composer
[yaffs-website] / vendor / drupal / console / src / Generator / AjaxCommandGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains Drupal\Console\Generator\AjaxCommandGenerator.
6  */
7
8 namespace Drupal\Console\Generator;
9
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
12
13 /**
14  * Class AjaxCommandGenerator
15  *
16  * @package Drupal\Console\Generator
17  */
18 class AjaxCommandGenerator extends Generator
19 {
20     /**
21      * @var Manager
22      */
23     protected $extensionManager;
24
25     /**
26      * AjaxCommandGenerator constructor.
27      *
28      * @param Manager $extensionManager
29      */
30     public function __construct(
31         Manager $extensionManager
32     ) {
33         $this->extensionManager = $extensionManager;
34     }
35
36     /**
37      * {@inheritdoc}
38      */
39     public function generate(array $parameters)
40     {
41         $class = $parameters['class_name'];
42         $module = $parameters['module'];
43         $js_name = $parameters['js_name'];
44
45         $moduleInstance = $this->extensionManager->getModule($module);
46         $moduleDir = $moduleInstance->getPath();
47         $this->renderFile(
48             'module/src/Ajax/ajax-command.php.twig',
49             $moduleInstance->getAjaxPath() . '/' . $class . '.php',
50             $parameters
51         );
52
53         $this->renderFile(
54             'module/js/commands.php.twig',
55             $moduleDir . '/js/' .$js_name. '.js',
56             $parameters
57         );
58
59         $this->renderFile(
60             'module/module-libraries.yml.twig',
61             $moduleDir . '/' . $module . '.libraries.yml',
62             $parameters
63         );
64     }
65 }