/**
  * @param array $deployment
  * @return void
  */
 private function scanModules($deployment, $modulePrefix)
 {
     $this->scanModels($deployment, $modulePrefix);
     foreach ($deployment as $module) {
         if (array_key_exists('modules', $module)) {
             foreach ($module['modules'] as $subModuleName => $subModule) {
                 $this->log->console("Module:  \t {$subModuleName}");
                 $this->addModule($subModuleName, ['path' => Directory::normalize($subModule['path']), 'info' => $subModule['info']]);
                 $this->scanModules([$subModule], $subModuleName);
             }
         }
     }
 }
 /**
  * @param string path of directory
  */
 public function __construct($path)
 {
     $this->path = Directory::normalize($path);
 }
 /**
  * Default constructor.
  *
  * @param string $modulePath absolute path of Zool application to deploy
  */
 public function __construct($modulePath, $baseModule = false)
 {
     $this->modulePath = Directory::normalize($modulePath);
     $this->log = LogProvider::forClass($this, false);
     $this->baseModule = $baseModule;
 }