/**
  * Generator Plugin Block.
  *
  * @param $module
  * @param $class_name
  * @param $label
  * @param $plugin_id
  * @param $services
  */
 public function generate($module, $class_name, $label, $plugin_id, $services, $inputs)
 {
     // Consider the type when determining a default value. Figure out what
     // the code looks like for the default value tht we need to generate.
     foreach ($inputs as &$input) {
         $default_code = '$this->t(\'\')';
         if ($input['default_value'] == '') {
             switch ($input['type']) {
                 case 'checkbox':
                 case 'number':
                 case 'weight':
                 case 'radio':
                     $default_code = 0;
                     break;
                 case 'radios':
                 case 'checkboxes':
                     $default_code = 'array()';
                     break;
             }
         } elseif (substr($input['default_value'], 0, 1) == '$') {
             // If they want to put in code, let them, they're programmers.
             $default_code = $input['default_value'];
         } elseif (is_numeric($input['default_value'])) {
             $default_code = $input['default_value'];
         } elseif (preg_match('/^(true|false)$/i', $input['default_value'])) {
             // Coding Standards
             $default_code = strtoupper($input['default_value']);
         } else {
             $default_code = '$this->t(\'' . $input['default_value'] . '\')';
         }
         $input['default_code'] = $default_code;
     }
     $parameters = ['module' => $module, 'class_name' => $class_name, 'label' => $label, 'plugin_id' => $plugin_id, 'services' => $services, 'inputs' => $inputs];
     $this->renderFile('module/src/Plugin/Block/block.php.twig', $this->extensionManager->getPluginPath($module, 'Block') . '/' . $class_name . '.php', $parameters);
 }
 /**
  * Generator Plugin Field Formatter.
  *
  * @param string $module     Module name
  * @param string $class_name Plugin Class name
  * @param string $label      Plugin label
  * @param string $plugin_id  Plugin id
  * @param string $field_type Field type this formatter supports
  */
 public function generate($module, $class_machine_name, $class_name, $title, $description)
 {
     $parameters = ['module' => $module, 'class_machine_name' => $class_machine_name, 'class_name' => $class_name, 'title' => $title, 'description' => $description];
     $this->renderFile('module/module.views.inc.twig', $this->extensionManager->getModule($module)->getPath() . '/' . $module . '.views.inc', $parameters);
     $this->renderFile('module/src/Plugin/Views/field/field.php.twig', $this->extensionManager->getPluginPath($module, 'views/field') . '/' . $class_name . '.php', $parameters);
 }
 /**
  * Generator Plugin Block.
  *
  * @param $module
  * @param $class_name
  * @param $label
  * @param $plugin_id
  * @param $services
  */
 public function generate($module, $class_name, $label, $plugin_id, $services, $inputs)
 {
     $parameters = ['module' => $module, 'class_name' => $class_name, 'label' => $label, 'plugin_id' => $plugin_id, 'services' => $services, 'inputs' => $inputs];
     $this->renderFile('module/src/Plugin/Block/block.php.twig', $this->extensionManager->getPluginPath($module, 'Block') . '/' . $class_name . '.php', $parameters);
 }
 /**
  * Generator Plugin CKEditor Button.
  *
  * @param string $module      Module name
  * @param string $class_name  Plugin Class name
  * @param string $label       Plugin label
  * @param string $plugin_id   Plugin id
  * @param string $button_name Button name
  */
 public function generate($module, $class_name, $label, $plugin_id, $button_name, $button_icon_path)
 {
     $parameters = ['module' => $module, 'class_name' => $class_name, 'label' => $label, 'plugin_id' => $plugin_id, 'button_name' => $button_name, 'button_icon_path' => $button_icon_path];
     $this->renderFile('module/src/Plugin/CKEditorPlugin/ckeditorbutton.php.twig', $this->extensionManager->getPluginPath($module, 'CKEditorPlugin') . '/' . $class_name . '.php', $parameters);
 }
 /**
  * Generator Plugin Field Formatter.
  *
  * @param string $module                      Module name
  * @param string $class_name                  Plugin condition Class name
  * @param string $label                       Plugin condition label
  * @param string $plugin_id                   Plugin condition id
  * @param string $context_definition_id       Plugin condition context definition id
  * @param string $context_definition_label    Plugin condition context definition label
  * @param bool   $context_definition_required Plugin condition context definition required
  */
 public function generate($module, $class_name, $label, $plugin_id, $context_definition_id, $context_definition_label, $context_definition_required)
 {
     $parameters = ['module' => $module, 'class_name' => $class_name, 'label' => $label, 'plugin_id' => $plugin_id, 'context_definition_id' => $context_definition_id, 'context_definition_label' => $context_definition_label, 'context_definition_required' => $context_definition_required, 'context_id' => str_replace('entity:', '', $context_definition_id)];
     $this->renderFile('module/src/Plugin/Condition/condition.php.twig', $this->extensionManager->getPluginPath($module, 'Condition') . '/' . $class_name . '.php', $parameters);
 }