Version 1
[yaffs-website] / vendor / drupal / console / src / Generator / PluginConditionGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains \Drupal\Console\Generator\PluginConditionGenerator.
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 PluginConditionGenerator
15  *
16  * @package Drupal\Console\Generator
17  */
18 class PluginConditionGenerator extends Generator
19 {
20     /**
21      * @var Manager
22      */
23     protected $extensionManager;
24
25     /**
26      * PluginConditionGenerator constructor.
27      *
28      * @param Manager $extensionManager
29      */
30     public function __construct(
31         Manager $extensionManager
32     ) {
33         $this->extensionManager = $extensionManager;
34     }
35
36     /**
37      * Generator Plugin Field Formatter.
38      *
39      * @param string $module                      Module name
40      * @param string $class_name                  Plugin condition Class name
41      * @param string $label                       Plugin condition label
42      * @param string $plugin_id                   Plugin condition id
43      * @param string $context_definition_id       Plugin condition context definition id
44      * @param string $context_definition_label    Plugin condition context definition label
45      * @param bool   $context_definition_required Plugin condition context definition required
46      */
47     public function generate($module, $class_name, $label, $plugin_id, $context_definition_id, $context_definition_label, $context_definition_required)
48     {
49         $parameters = [
50             'module' => $module,
51             'class_name' => $class_name,
52             'label' => $label,
53             'plugin_id' => $plugin_id,
54             'context_definition_id' => $context_definition_id,
55             'context_definition_label' => $context_definition_label,
56             'context_definition_required' => $context_definition_required,
57             'context_id' => str_replace('entity:', '', $context_definition_id)
58         ];
59
60         $this->renderFile(
61             'module/src/Plugin/Condition/condition.php.twig',
62             $this->extensionManager->getPluginPath($module, 'Condition') . '/' . $class_name . '.php',
63             $parameters
64         );
65     }
66 }