/**
  * @throws \InvalidArgumentException
  *
  * @return mixed
  */
 protected function getTemplateContents()
 {
     $parser = new NameParser($this->argument('name'));
     if ($parser->isCreate()) {
         return Stub::create('/migration/create.stub', ['class' => $this->getClass(), 'table' => $parser->getTableName(), 'fields' => $this->getSchemaParser()->render()]);
     } elseif ($parser->isAdd()) {
         return Stub::create('/migration/add.stub', ['class' => $this->getClass(), 'table' => $parser->getTableName(), 'fields_up' => $this->getSchemaParser()->up(), 'fields_down' => $this->getSchemaParser()->down()]);
     } elseif ($parser->isDelete()) {
         return Stub::create('/migration/delete.stub', ['class' => $this->getClass(), 'table' => $parser->getTableName(), 'fields_down' => $this->getSchemaParser()->up(), 'fields_up' => $this->getSchemaParser()->down()]);
     } elseif ($parser->isDrop()) {
         return Stub::create('/migration/drop.stub', ['class' => $this->getClass(), 'table' => $parser->getTableName(), 'fields' => $this->getSchemaParser()->render()]);
     }
     return Stub::create('/migration/plain.stub', ['class' => $this->getClass()]);
 }
 /** @test */
 public function it_can_check_if_current_migration_type_matches_given_type()
 {
     $parser = new NameParser('create_users_table');
     self::assertTrue($parser->is('create'));
 }