/**
  * Creates a new generator instance.
  *
  * @param string $skeleton_name name of the skeleton
  * @param string $target_path full path to the target location (defaults to %core.module_dir%)
  * @param array $data variables to use as context for rendering via twig
  */
 public function __construct($skeleton_name, $target_path = null, array $data = [])
 {
     $required_data_keys = ['vendor', 'package'];
     foreach ($required_data_keys as $required_data_key) {
         if (!array_key_exists($required_data_key, $data)) {
             throw new RuntimeError(sprintf('A "%s" parameter must be provided', $required_data_key));
         }
     }
     $vendor = $data['vendor'];
     $package = $data['package'];
     $module_name = sprintf('%s_%s', $vendor, $package);
     if (null === $target_path) {
         $target_path = AgaviConfig::get('core.module_dir') . DIRECTORY_SEPARATOR . $module_name;
     } else {
         $target_path .= DIRECTORY_SEPARATOR . $module_name;
     }
     $data['target_path'] = $target_path;
     $data['db_prefix'] = AgaviConfig::get('core.db_prefix');
     $data['vendor_prefix'] = StringToolkit::asSnakeCase($vendor);
     $data['package_prefix'] = StringToolkit::asSnakeCase($package);
     $data['timestamp'] = date('YmdHis');
     parent::__construct($skeleton_name, $target_path, $data);
     $this->overwrite_enabled = isset($data['override_files']) ? $data['override_files'] : false;
     $this->reporting_enabled = isset($data['reporting_enabled']) ? $data['reporting_enabled'] : false;
 }
 /**
  * Creates a new generator instance.
  *
  * @param string $skeleton_name name of the skeleton
  * @param string $target_path full path to the target location (defaults to %core.skeleton_dir%
  * @param array $data variables to use as context for rendering via twig
  */
 public function __construct($skeleton_name, $target_path = null, array $data = [])
 {
     if (!array_key_exists('new_skeleton_name', $data)) {
         throw new RuntimeError('A "new_skeleton_name" parameter must be provided');
     }
     if (null === $target_path) {
         $target_path = AgaviConfig::get('core.skeleton_dir') . DIRECTORY_SEPARATOR . $data['new_skeleton_name'];
     } else {
         $target_path .= DIRECTORY_SEPARATOR . $data['new_skeleton_name'];
     }
     $data['target_path'] = $target_path;
     parent::__construct($skeleton_name, $target_path, $data);
 }
 /**
  * Creates a new generator instance.
  *
  * @param string $skeleton_name name of the skeleton
  * @param string $target_path full path to the target location
  * @param array $data variables to use as context for rendering via twig
  */
 public function __construct($skeleton_name, $target_path, array $data = [])
 {
     $required_data_keys = ['vendor', 'package', 'resource', 'variant'];
     foreach ($required_data_keys as $required_data_key) {
         if (!array_key_exists($required_data_key, $data)) {
             throw new RuntimeError(sprintf('A "%s" parameter must be provided', $required_data_key));
         }
     }
     $vendor = $data['vendor'];
     $package = $data['package'];
     $resource = $data['resource'];
     $variant = $data['variant'];
     $data['target_path'] = $target_path;
     $data['db_prefix'] = AgaviConfig::get('core.db_prefix');
     $data['vendor_prefix'] = StringToolkit::asSnakeCase($vendor);
     $data['package_prefix'] = StringToolkit::asSnakeCase($package);
     $data['resource_prefix'] = StringToolkit::asSnakeCase($resource);
     $data['variant_prefix'] = StringToolkit::asSnakeCase($variant);
     $data['timestamp'] = date('YmdHis');
     parent::__construct($skeleton_name, $target_path, $data);
     $this->overwrite_enabled = isset($data['override_files']) ? $data['override_files'] : false;
     $this->reporting_enabled = isset($data['reporting_enabled']) ? $data['reporting_enabled'] : false;
 }