Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / metatag / src / Generator / MetatagGroupGenerator.php
1 <?php
2
3 namespace Drupal\metatag\Generator;
4
5 use Drupal\Console\Core\Generator\Generator;
6 use Drupal\Console\Extension\Manager;
7 use Drupal\Console\Core\Utils\TwigRenderer;
8
9 /**
10  * Drupal Console plugin for generating a group.
11  */
12 class MetatagGroupGenerator extends Generator {
13
14   /**
15    * The console manager.
16    *
17    * @var \Drupal\Console\Extension\Manager
18    */
19   protected $extensionManager;
20
21   /**
22    * The twig renderer.
23    *
24    * @var \Drupal\Console\Core\Utils\TwigRenderer
25    */
26   protected $renderer;
27
28   /**
29    * MetatagGroupGenerator constructor.
30    *
31    * @param \Drupal\Console\Extension\Manager $extensionManager
32    *   An extension manager.
33    * @param \Drupal\Console\Core\Utils\TwigRenderer $renderer
34    *   Twig renderer.
35    */
36   public function __construct(Manager $extensionManager, TwigRenderer $renderer) {
37     $this->extensionManager = $extensionManager;
38
39     $renderer->addSkeletonDir(__DIR__ . '/../../templates/');
40     $this->setRenderer($renderer);
41   }
42
43   /**
44    * Generator plugin.
45    *
46    * @param string $base_class
47    *   Base class.
48    * @param string $module
49    *   Module name.
50    * @param string $label
51    *   Group label.
52    * @param string $description
53    *   Group description.
54    * @param string $plugin_id
55    *   Plugin ID.
56    * @param string $class_name
57    *   Class name.
58    * @param string $weight
59    *   Group weight.
60    */
61   public function generate($base_class, $module, $label, $description, $plugin_id, $class_name, $weight) {
62     $parameters = [
63       'base_class' => $base_class,
64       'module' => $module,
65       'label' => $label,
66       'description' => $description,
67       'plugin_id' => $plugin_id,
68       'class_name' => $class_name,
69       'weight' => $weight,
70       'prefix' => '<' . '?php',
71     ];
72
73     $this->renderFile(
74       'group.php.twig',
75       $this->extensionManager->getPluginPath($module, 'metatag/Group') . '/' . $class_name . '.php',
76       $parameters
77     );
78   }
79
80 }