protected function getModuleFixtures(AbstractModule $module)
 {
     $namespace = $module->getNamespace() . '\\Fixtures\\';
     $directory = $module->getDirectory() . 'Fixtures/';
     if (!is_dir($directory)) {
         return [];
     }
     $fixtures = [];
     $files = new \DirectoryIterator($directory);
     foreach ($files as $file) {
         if (!$file->isFile() || substr($file->getFilename(), -4) !== '.php') {
             continue;
         }
         $class = $namespace . $file->getBasename('.php');
         $r = new \ReflectionClass($class);
         if (!$r->isSubclassOf('ActiveDoctrine\\Fixture\\FixtureInterface') || $r->isAbstract()) {
             continue;
         }
         $fixtures[] = $r->newInstance();
     }
     return $fixtures;
 }
Exemplo n.º 2
0
 /**
  * Get all migrations from a module.
  */
 public function getAllMigrations(AbstractModule $module)
 {
     $namespace = $module->getNamespace() . '\\Migrations\\';
     $directory = $this->getMigrationsDirectory($module);
     $migrations = [];
     $files = new \DirectoryIterator($directory);
     foreach ($files as $file) {
         //Possible migrations are files of the form MigrationYYYYMMDDHHMMSS.php
         if (!$file->isFile() || !preg_match('`Migration\\d{14}\\w*.php`', $file->getFilename())) {
             continue;
         }
         $class = $namespace . $file->getBasename('.php');
         $r = new \ReflectionClass($class);
         if (!$r->isSubclassOf('Neptune\\Database\\Migration\\AbstractMigration') || $r->isAbstract()) {
             continue;
         }
         $migration = $r->newInstance();
         $migrations[$migration->getVersion()] = $migration;
     }
     ksort($migrations);
     return $migrations;
 }