123fab82c7719ca478eae75aa51de6a68fc2da98
[yaffs-website] / vendor / drupal / console / src / Generator / PluginMigrateSourceGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains \Drupal\Console\Generator\PluginMigrateSourceGenerator.
6  */
7
8 namespace Drupal\Console\Generator;
9
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
12
13 class PluginMigrateSourceGenerator extends Generator
14 {
15     /**
16      * @var Manager
17      */
18     protected $extensionManager;
19
20     /**
21      * PluginMigrateSourceGenerator constructor.
22      *
23      * @param Manager $extensionManager
24      */
25     public function __construct(
26         Manager $extensionManager
27     ) {
28         $this->extensionManager = $extensionManager;
29     }
30
31     /**
32      * Generate Migrate Source plugin code.
33      *
34      * @param $module
35      * @param $class_name
36      * @param $plugin_id
37      * @param $table
38      * @param $alias
39      * @param $group_by
40      * @param fields
41      */
42     public function generate($module, $class_name, $plugin_id, $table, $alias, $group_by, $fields)
43     {
44         $parameters = [
45           'module' => $module,
46           'class_name' => $class_name,
47           'plugin_id' => $plugin_id,
48           'table' => $table,
49           'alias' => $alias,
50           'group_by' => $group_by,
51           'fields' => $fields,
52         ];
53
54         $this->renderFile(
55             'module/src/Plugin/migrate/source/source.php.twig',
56             $this->extensionManager->getPluginPath($module, 'migrate').'/source/'.$class_name.'.php',
57             $parameters
58         );
59     }
60 }