/**
  * Execute the console command.
  */
 public function fire(AddonManager $addons)
 {
     list($vendor, $type, $slug, $path) = _resolveAddonNamespace($this->argument('namespace'), $this->option('shared'));
     if ($type === 'module') {
         $this->logo();
         /* Get the default module template from the registry */
         if ($this->download($template = _config('config.default-module'), $this->option('force'))) {
             $context = $this->getTemplateContext($template, ['vendor' => $vendor, 'slug' => $slug], true);
             $this->dispatch(new ScaffoldTemplate($vendor, $type, $slug, $this->getBuilderPath(_config('config.default-module')), $path, $context));
             $this->info("Builder has successfully created a module addon from '{$template}'");
             return;
         } else {
             /* When things go wrong - which does happen sometimes - fallback to Pyro make:addon */
             $this->ignoreJobs = false;
         }
     }
     parent::fire($addons);
 }
 /**
  * Execute the console command.
  */
 public function fire(AddonManager $addons)
 {
     $this->logo();
     list($vendor, $type, $slug, $path) = _resolveAddonNamespace($this->argument('namespace'), $this->option('shared'));
     /* Get the template name if provided by the user */
     if (!($template = $this->argument('template'))) {
         /* otherwise, construct an index for a potential template based on the addon type  */
         $index = "templates.{$type}" . ($type !== 'theme' ? "" : ($this->option('admin') ? '.0' : '.1'));
         /* if the template option is provided, create a template project, not the actual addon */
         $template = _config("config." . ($this->option('template') ? "default-template" : $index));
     }
     if ($template && $this->download($template, $this->option('force'))) {
         $context = $this->getTemplateContext($template, ['vendor' => $vendor, 'slug' => $slug, 'type' => $type], true, $this->option('defaults'));
         $this->dispatch(new ScaffoldTemplate($vendor, $type, $slug, $this->getBuilderPath($template), $path, $context));
         $this->info("Builder has successfully created a {$type} addon from '{$template}' at:");
         $this->line($path);
         return;
     } else {
         /* When things go wrong - which happens sometimes - fallback to Pyro make:addon */
         $this->ignoreJobs = false;
     }
     parent::fire($addons);
 }