/**
  * Install the Casset package.
  *
  * @param string          $directory
  * @param OutputInterface $output
  * 
  * @return $this
  */
 protected function installCasset($directory, $output)
 {
     if (!File::has($directory . '/composer.json', 'mmanos/laravel-casset')) {
         $output->writeln('<info>Installing mmanos/laravel-casset...</info>');
         exec('composer require mmanos/laravel-casset:1.4.*', $out);
         echo implode("\n", $out) . "\n";
     }
     if (!File::has($directory . '/app/config/app.php', 'Mmanos\\Casset\\CassetServiceProvider')) {
         File::replaceOnce($directory . '/app/config/app.php', "'Illuminate\\Workbench\\WorkbenchServiceProvider',", "'Illuminate\\Workbench\\WorkbenchServiceProvider',\n\t\t'Mmanos\\Casset\\CassetServiceProvider',");
     }
     if (!File::has($directory . '/app/config/app.php', "'Casset'")) {
         File::replaceOnce($directory . '/app/config/app.php', "=> 'Illuminate\\Support\\Facades\\View',", "=> 'Illuminate\\Support\\Facades\\View',\n\t\t'Casset'            => 'Mmanos\\Casset\\Facades\\Casset',");
     }
     File::mkdir($directory . '/public/assets/cache');
     File::writable($directory . '/public/assets/cache');
     File::gitignore($directory . '/public/assets/cache');
     $output->writeln('casset installed');
     return $this;
 }
 /**
  * Add Carbon class alias.
  *
  * @param string          $directory
  * @param OutputInterface $output
  * 
  * @return $this
  */
 protected function addCarbonAlias($directory, $output)
 {
     if (!File::has($directory . '/app/config/app.php', "'Carbon'")) {
         File::replaceOnce($directory . '/app/config/app.php', "=> 'Illuminate\\Support\\Facades\\View',", "=> 'Illuminate\\Support\\Facades\\View',\n\t\t'Carbon'            => 'Carbon\\Carbon',");
     }
     $output->writeln('carbon class alias added');
     return $this;
 }