diff --git a/Manager/RepositoryManager.php b/Manager/RepositoryManager.php index 261aaef..96865c0 100644 --- a/Manager/RepositoryManager.php +++ b/Manager/RepositoryManager.php @@ -45,11 +45,7 @@ class RepositoryManager implements RepositoryManagerInterface throw new RuntimeException(sprintf('No search finder configured for %s', $entityName)); } - $repositoryName = $this->getRepositoryName($entityName); - if (!class_exists($repositoryName)) { - throw new RuntimeException(sprintf('%s repository for %s does not exist', $repositoryName, $entityName)); - } - $repository = new $repositoryName($this->entities[$entityName]['finder']); + $repository = $this->createRepository($entityName); $this->repositories[$entityName] = $repository; return $repository; @@ -72,4 +68,13 @@ class RepositoryManager implements RepositoryManagerInterface return 'FOQ\ElasticaBundle\Repository'; } + private function createRepository($entityName) + { + $repositoryName = $this->getRepositoryName($entityName); + if (!class_exists($repositoryName)) { + throw new RuntimeException(sprintf('%s repository for %s does not exist', $repositoryName, $entityName)); + } + return new $repositoryName($this->entities[$entityName]['finder']); + } + }