/**
  * @inheritdoc
  */
 public function process(EloquentModel $model, Config $config)
 {
     $className = $config->get('class_name');
     $baseClassName = $config->get('base_class_name');
     $tableName = $config->get('table_name');
     $model->setName(new ClassNameModel($className, $this->helper->getShortClassName($baseClassName)));
     $model->addUses(new UseClassModel(ltrim($baseClassName, '\\')));
     $model->setTableName($tableName ?: $this->helper->getDefaultTableName($className));
     if ($model->getTableName() !== $this->helper->getDefaultTableName($className)) {
         $property = new PropertyModel('table', 'protected', $model->getTableName());
         $property->setDocBlock(new DocBlockModel('The table associated with the model.', '', '@var string'));
         $model->addProperty($property);
     }
 }