Yaffs site version 1.1
[yaffs-website] / vendor / drupal / console / src / Generator / PluginSkeletonGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains \Drupal\Console\Generator\PluginSkeletonGenerator.
6  */
7
8 namespace Drupal\Console\Generator;
9
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
12
13 class PluginSkeletonGenerator extends Generator
14 {
15     /**
16      * @var Manager
17      */
18     protected $extensionManager;
19
20     /**
21      * PluginSkeletonGenerator constructor.
22      *
23      * @param Manager $extensionManager
24      */
25     public function __construct(
26         Manager $extensionManager
27     ) {
28         $this->extensionManager = $extensionManager;
29     }
30
31     /**
32      * Generator Post Update Name function.
33      *
34      * @param $module
35      * @param $pluginId
36      * @param $plugin
37      * @param $className
38      * @param $pluginMetaData
39      * @param $services
40      */
41     public function generate($module, $pluginId, $plugin, $className, $pluginMetaData, $services)
42     {
43         $module_path =  $this->extensionManager->getModule($module)->getPath();
44
45         $parameters = [
46             'module' => $module,
47             'plugin_id' => $pluginId,
48             'plugin' => $plugin,
49             'class_name' => $className,
50             'services' => $services,
51             'plugin_annotation' => array_pop(explode('\\', $pluginMetaData['pluginAnnotation'])),
52             'plugin_interface' => array_pop(explode('\\', $pluginMetaData['pluginInterface']))
53             ];
54
55         $this->renderFile(
56             'module/src/Plugin/skeleton.php.twig',
57             $module_path .'/src/'. $pluginMetaData['subdir'] . '/' . $className .'.php',
58             array_merge($parameters, $pluginMetaData)
59         );
60     }
61 }