Skip to content

Commit

Permalink
Required method getEntityClassNames based on entityName
Browse files Browse the repository at this point in the history
  • Loading branch information
SiViN authored and f3l1x committed Feb 3, 2017
1 parent 12878be commit 2134af2
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
15 changes: 14 additions & 1 deletion src/Generator/Repository/RepositoryGenerator.php
Expand Up @@ -8,22 +8,28 @@
use Minetro\Normgen\Resolver\IRepositoryResolver;
use Nette\PhpGenerator\Helpers;
use Nette\PhpGenerator\PhpNamespace;
use Minetro\Normgen\Resolver\IEntityResolver;

class RepositoryGenerator extends AbstractGenerator
{

/** @var IRepositoryResolver */
private $resolver;

/** @var IEntityResolver */
private $entityResolver;

/**
* @param Config $config
* @param IRepositoryResolver $resolver
* @param IEntityResolver $entityResolver
*/
function __construct(Config $config, IRepositoryResolver $resolver)
function __construct(Config $config, IRepositoryResolver $resolver, IEntityResolver $entityResolver)
{
parent::__construct($config);

$this->resolver = $resolver;
$this->entityResolver = $entityResolver;
}

/**
Expand All @@ -42,6 +48,13 @@ public function generate(Database $database)
$class->setExtends($extends);
}

$entityName = $this->entityResolver->resolveEntityName($table);
$class->addMethod("getEntityClassNames")
->addDocument("@return array")
->setVisibility('public')
->setStatic(true)
->addBody("return [$entityName::class];");

// Save file
$this->generateFile($this->resolver->resolveRepositoryFilename($table), (string)$namespace);
}
Expand Down
2 changes: 1 addition & 1 deletion src/SimpleFactory.php
Expand Up @@ -47,7 +47,7 @@ public function create()
}

$normgen->setEntityGenerator(new EntityGenerator($this->config, $resolver));
$normgen->setRepositoryGenerator(new RepositoryGenerator($this->config, $resolver));
$normgen->setRepositoryGenerator(new RepositoryGenerator($this->config, $resolver, $resolver));
$normgen->setMapperGenerator(new MapperGenerator($this->config, $resolver));
$normgen->setFacadeGenerator(new FacadeGenerator($this->config, $resolver));

Expand Down

0 comments on commit 2134af2

Please sign in to comment.