5 * Contains \Drupal\Console\Generator\PluginBlockGenerator.
8 namespace Drupal\Console\Generator;
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
13 class PluginBlockGenerator extends Generator
18 protected $extensionManager;
21 * PermissionGenerator constructor.
23 * @param Manager $extensionManager
25 public function __construct(
26 Manager $extensionManager
28 $this->extensionManager = $extensionManager;
34 public function generate(array $parameters)
36 $inputs = $parameters['inputs'];
37 $module = $parameters['module'];
38 $class_name = $parameters['class_name'];
40 // Consider the type when determining a default value. Figure out what
41 // the code looks like for the default value tht we need to generate.
42 foreach ($inputs as &$input) {
43 $default_code = '$this->t(\'\')';
44 if ($input['default_value'] == '') {
45 switch ($input['type']) {
55 $default_code = 'array()';
58 } elseif (substr($input['default_value'], 0, 1) == '$') {
59 // If they want to put in code, let them, they're programmers.
60 $default_code = $input['default_value'];
61 } elseif (is_numeric($input['default_value'])) {
62 $default_code = $input['default_value'];
63 } elseif (preg_match('/^(true|false)$/i', $input['default_value'])) {
65 $default_code = strtoupper($input['default_value']);
67 $default_code = '$this->t(\'' . $input['default_value'] . '\')';
69 $input['default_code'] = $default_code;
73 'module/src/Plugin/Block/block.php.twig',
74 $this->extensionManager->getPluginPath($module, 'Block') . '/' . $class_name . '.php',