public function handle()
 {
     $this->commandData->modelName = $this->argument('model');
     $this->commandData->useSoftDelete = $this->option('softDelete');
     $this->commandData->fieldsFile = $this->option('fieldsFile');
     $this->commandData->paginate = $this->option('paginate');
     $this->commandData->tableName = $this->option('tableName');
     $this->commandData->skipMigration = $this->option('skipMigration');
     $this->commandData->fromTable = $this->option('fromTable');
     $this->commandData->rememberToken = $this->option('rememberToken');
     if ($this->commandData->fromTable) {
         if (!$this->commandData->tableName) {
             $this->error('tableName required with fromTable option.');
             exit;
         }
     }
     if ($this->commandData->paginate <= 0) {
         $this->commandData->paginate = 10;
     }
     $this->commandData->initVariables();
     $this->commandData->addDynamicVariable('$NAMESPACE_APP$', $this->getLaravel()->getNamespace());
     if ($this->commandData->fieldsFile) {
         $fileHelper = new FileHelper();
         try {
             if (file_exists($this->commandData->fieldsFile)) {
                 $filePath = $this->commandData->fieldsFile;
             } else {
                 $filePath = base_path($this->commandData->fieldsFile);
             }
             if (!file_exists($filePath)) {
                 $this->commandData->commandObj->error('Fields file not found');
                 exit;
             }
             $fileContents = $fileHelper->getFileContents($filePath);
             $fields = json_decode($fileContents, true);
             $this->commandData->inputFields = GeneratorUtils::validateFieldsFile($fields);
         } catch (Exception $e) {
             $this->commandData->commandObj->error($e->getMessage());
             exit;
         }
     } elseif ($this->commandData->fromTable) {
         $tableFieldsGenerator = new TableFieldsGenerator($this->commandData->tableName);
         $this->commandData->inputFields = $tableFieldsGenerator->generateFieldsFromTable();
     } else {
         $this->commandData->inputFields = $this->commandData->getInputFields();
     }
 }
 /**
  * Publishes base controller.
  */
 private function publishAppBaseController()
 {
     $templateHelper = new TemplatesHelper();
     $templateData = $templateHelper->getTemplate('AppBaseController', 'controller');
     $templateData = GeneratorUtils::fillTemplate(CommandData::getConfigDynamicVariables(), $templateData);
     $fileName = 'AppBaseController.php';
     $filePath = Config::get('generator.path_controller', app_path('Http/Controllers/'));
     $fileHelper = new FileHelper();
     $fileHelper->writeFile($filePath . $fileName, $templateData);
     $this->comment('AppBaseController generated');
     $this->info($fileName);
 }