3 namespace Drupal\metatag\Generator;
5 use Drupal\Console\Core\Generator\Generator;
6 use Drupal\Console\Extension\Manager;
7 use Drupal\Console\Core\Utils\TwigRenderer;
10 * Drupal Console plugin for generating a group.
12 class MetatagGroupGenerator extends Generator {
15 * The console manager.
17 * @var \Drupal\Console\Extension\Manager
19 protected $extensionManager;
24 * @var \Drupal\Console\Core\Utils\TwigRenderer
29 * MetatagGroupGenerator constructor.
31 * @param \Drupal\Console\Extension\Manager $extensionManager
32 * An extension manager.
33 * @param \Drupal\Console\Core\Utils\TwigRenderer $renderer
36 public function __construct(Manager $extensionManager, TwigRenderer $renderer) {
37 $this->extensionManager = $extensionManager;
39 $renderer->addSkeletonDir(__DIR__ . '/../../templates/');
40 $this->setRenderer($renderer);
46 * @param string $base_class
48 * @param string $module
50 * @param string $label
52 * @param string $description
54 * @param string $plugin_id
56 * @param string $class_name
58 * @param string $weight
61 public function generate($base_class, $module, $label, $description, $plugin_id, $class_name, $weight) {
63 'base_class' => $base_class,
66 'description' => $description,
67 'plugin_id' => $plugin_id,
68 'class_name' => $class_name,
70 'prefix' => '<' . '?php',
75 $this->extensionManager->getPluginPath($module, 'metatag/Group') . '/' . $class_name . '.php',