dcee1ec874e3d7d9dfa74e084150b1a0573be381
[yaffs-website] / vendor / drupal / console / src / Generator / EntityBundleGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains Drupal\Console\Generator\EntityBundleGenerator.
6  */
7
8 namespace Drupal\Console\Generator;
9
10 use Drupal\Console\Extension\Manager;
11 use Drupal\Console\Core\Generator\Generator;
12
13 class EntityBundleGenerator extends Generator
14 {
15     /**
16      * @var Manager
17      */
18     protected $extensionManager;
19
20     /**
21      * PermissionGenerator constructor.
22      *
23      * @param Manager $extensionManager
24      */
25     public function __construct(
26         Manager $extensionManager
27     ) {
28         $this->extensionManager = $extensionManager;
29     }
30
31     /**
32      * {@inheritdoc}
33      */
34     public function generate(array $parameters)
35     {
36         $module = $parameters['module'];
37         $bundleName = $parameters['bundle_name'];
38         $moduleDir = $this->extensionManager->getModule($module)->getPath();
39
40         /**
41          * Generate core.entity_form_display.node.{ bundle_name }.default.yml
42          */
43         $this->renderFile(
44             'module/src/Entity/Bundle/core.entity_form_display.node.default.yml.twig',
45             $moduleDir . '/config/install/core.entity_form_display.node.' . $bundleName . '.default.yml',
46             $parameters
47         );
48
49         /**
50          * Generate core.entity_view_display.node.{ bundle_name }.default.yml
51          */
52         $this->renderFile(
53             'module/src/Entity/Bundle/core.entity_view_display.node.default.yml.twig',
54             $moduleDir . '/config/install/core.entity_view_display.node.' . $bundleName . '.default.yml',
55             $parameters
56         );
57
58         /**
59          * Generate core.entity_view_display.node.{ bundle_name }.teaser.yml
60          */
61         $this->renderFile(
62             'module/src/Entity/Bundle/core.entity_view_display.node.teaser.yml.twig',
63             $moduleDir . '/config/install/core.entity_view_display.node.' . $bundleName . '.teaser.yml',
64             $parameters
65         );
66
67         /**
68          * Generate field.field.node.{ bundle_name }.body.yml
69          */
70         $this->renderFile(
71             'module/src/Entity/Bundle/field.field.node.body.yml.twig',
72             $moduleDir . '/config/install/field.field.node.' . $bundleName . '.body.yml',
73             $parameters
74         );
75
76         /**
77          * Generate node.type.{ bundle_name }.yml
78          */
79         $this->renderFile(
80             'module/src/Entity/Bundle/node.type.yml.twig',
81             $moduleDir  . '/config/install/node.type.' . $bundleName . '.yml',
82             $parameters
83         );
84     }
85 }