Esempio n. 1
0
 /**
  * Get all classes for a namespace.
  *
  * @param string namespace
  * @return array
  */
 public function getClassesFromNamespace($namespace = null)
 {
     $base_namespace = $namespace ?: $this->getAppNamespace();
     $path = $this->stripNamespace($base_namespace, $this->getAppNamespace());
     $directory = app_path() . '\\' . $path;
     return $this->finder->findClasses($directory);
 }
Esempio n. 2
0
 /**
  * Get the cache contents for a given path.
  *
  * @param  string  $path
  * @return string
  */
 protected function getCacheForPath($path)
 {
     $cache = '';
     foreach ($this->finder->findClasses($path) as $class) {
         $cache .= $this->getCacheForClass(new ReflectionClass($class));
     }
     return $cache;
 }
Esempio n. 3
0
 /**
  * run package database migrations
  *
  * @return void
  */
 public function migrate()
 {
     $fileSystem = new Filesystem();
     $classFinder = new ClassFinder();
     foreach ($fileSystem->files(__DIR__ . '/../../src/migrations') as $file) {
         $fileSystem->requireOnce($file);
         $migrationClass = $classFinder->findClass($file);
         (new $migrationClass())->up();
     }
 }
Esempio n. 4
0
 /**
  * Run all database migrations from the specified path
  * 
  * @param  string $path
  * @return void
  */
 protected function migrateDatabaseFromPath($path)
 {
     $fileSystem = new Filesystem();
     $classFinder = new ClassFinder();
     foreach ($fileSystem->files($path) as $file) {
         $fileSystem->requireOnce($file);
         $migrationClass = $classFinder->findClass($file);
         (new $migrationClass())->up();
     }
 }
 /**
  * run package database migrations.
  */
 public function migrate()
 {
     $fileSystem = new Filesystem();
     $classFinder = new ClassFinder();
     foreach ($fileSystem->files(__DIR__ . '/../../../../tests/NilPortugues/App/Migrations') as $file) {
         $fileSystem->requireOnce($file);
         $migrationClass = $classFinder->findClass($file);
         (new $migrationClass())->down();
         (new $migrationClass())->up();
     }
 }
Esempio n. 6
0
 protected function getMigrations()
 {
     $migrations = [];
     $fileSystem = new Filesystem();
     $classFinder = new ClassFinder();
     foreach ($fileSystem->files(__DIR__ . '/../migrations') as $file) {
         $fileSystem->requireOnce($file);
         $migrations[] = $classFinder->findClass($file);
     }
     return $migrations;
 }
Esempio n. 7
0
 /**
  * Run package database migrations.
  * Thanks http://stackoverflow.com/questions/27759301/setting-up-integration-tests-in-a-laravel-package
  *
  * @return void
  */
 public function migrate()
 {
     $fileSystem = new Filesystem();
     $classFinder = new ClassFinder();
     $packageMigrations = $fileSystem->files(__DIR__ . "/../../src/Migrations");
     $laravelMigrations = $fileSystem->files(__DIR__ . "/../../vendor/laravel/laravel/database/migrations");
     $migrationFiles = array_merge($laravelMigrations, $packageMigrations);
     foreach ($migrationFiles as $file) {
         $fileSystem->requireOnce($file);
         $migrationClass = $classFinder->findClass($file);
         (new $migrationClass())->up();
     }
 }
Esempio n. 8
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     \DB::statement('SET FOREIGN_KEY_CHECKS=0;');
     foreach ($this->filesystem->files(__DIR__ . "/../../../../database/migrations") as $file) {
         $this->filesystem->requireOnce($file);
         $migrationClass = $this->classFinder->findClass($file);
         $migration = new $migrationClass();
         $migration->down();
         $migration->up();
     }
     $this->info("Merx tables migrated.");
     \DB::statement('SET FOREIGN_KEY_CHECKS=1;');
 }
Esempio n. 9
0
 protected function migrateDatabase()
 {
     // First create fake users and articles tables
     (new CreateTestUsersTable())->up();
     (new CreateTestArticlesTable())->up();
     // Then migrate Merx tables
     $fileSystem = new Filesystem();
     $classFinder = new ClassFinder();
     foreach ($fileSystem->files(__DIR__ . "/../database/migrations") as $file) {
         $fileSystem->requireOnce($file);
         $migrationClass = $classFinder->findClass($file);
         (new $migrationClass())->up();
     }
 }
Esempio n. 10
0
 /**
  * Parse config file and project to get all classes to extract.
  *
  *
  * @return array
  */
 public function getClasses()
 {
     $conf_classes = config('larinterface.classes');
     $conf_directories = config('larinterface.directories');
     $conf_ignore = config('larinterface.ignore');
     $classesArray = [];
     // Forge classes
     foreach ($conf_classes as $output => $classes) {
         if (is_numeric($output)) {
             $output = 0;
         }
         if (is_string($classes)) {
             $classes = [$classes];
         }
         if (isset($classesArray[$output])) {
             $classesArray[$output] = array_merge($classesArray[$output], $classes);
         } else {
             $classesArray[$output] = $classes;
         }
     }
     // Forge directories
     foreach ($conf_directories as $output => $directories) {
         if (is_numeric($output)) {
             $output = 0;
         }
         if (is_string($directories)) {
             $directories = [$directories];
         }
         foreach ($directories as $directory) {
             $classes = $this->classFinder->findClasses(base_path($directory));
             if (isset($classesArray[$output])) {
                 $classesArray[$output] = array_merge($classesArray[$output], $classes);
             } else {
                 $classesArray[$output] = $classes;
             }
         }
     }
     // Clean forged class
     foreach ($classesArray as $key => $value) {
         // Ignore files
         foreach ($conf_ignore as $class) {
             $classKey = array_search($class, $value);
             if ($classKey !== false) {
                 unset($value[$classKey]);
             }
         }
         $classesArray[$key] = array_unique($value);
     }
     return $this->classes = $this->extractInterfacePathFromClasses($classesArray);
 }
Esempio n. 11
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $this->disableForeignKeyChecks();
     $migrationCount = 0;
     foreach ($this->filesystem->files(__DIR__ . "/../../../../database/migrations") as $file) {
         $this->filesystem->requireOnce($file);
         $migrationClass = $this->classFinder->findClass($file);
         $migration = new $migrationClass();
         if ($this->option("refresh")) {
             $migration->down();
         }
         try {
             $migration->up();
             $migrationCount++;
         } catch (QueryException $ex) {
             if (!$this->isTableAlreadyExistError($ex)) {
                 throw $ex;
             }
         }
     }
     $this->enableForeignKeyChecks();
     $this->info("{$migrationCount} table(s) migrated.");
 }
Esempio n. 12
0
 /**
  * Get all classes for a given namespace.
  *
  * @param string $namespace
  * @return array
  */
 public function getClassesFromNamespace($namespace = null)
 {
     $namespace = $namespace ?: $this->getAppNamespace();
     $path = $this->convertNamespaceToPath($namespace);
     return $this->finder->findClasses($path);
 }
Esempio n. 13
0
 /**
  * Search the app path for any models that implement EloquentJs.
  *
  * @return array
  */
 protected function searchAppForModels()
 {
     return array_filter($this->classFinder->findClasses(app_path()), function ($className) {
         return $this->isEloquentJsModel($className);
     });
 }