/** * Get all modules. * * @return array */ protected function getModules() { $modules = $this->module->all(); $results = array(); foreach ($modules as $module) { $results[] = $this->getModuleInformation($module); } return array_filter($results); }
/** * Execute the console command. * * @return mixed */ public function fire() { $module = $this->argument('module'); if ($module) { return $this->rollback($module); } else { foreach ($this->module->all() as $module) { $this->rollback($module['slug']); } } }
/** * Seed the specific module. * * @param string $module * @return array */ protected function seed($module) { $params = array(); $moduleName = studly_case($module); $namespace = $this->module->getNamespace(); $rootSeeder = $moduleName . 'DatabaseSeeder'; $fullPath = $namespace . $moduleName . '\\Database\\Seeds\\' . $rootSeeder; if (\File::exists(base_path($fullPath . '.php'))) { if ($this->option('class')) { $params['--class'] = $this->option('class'); } else { $params['--class'] = $fullPath; } if ($option = $this->option('database')) { $params['--database'] = $option; } $this->call('db:seed', $params); } }
/** * Get migrations path. * * @return string */ protected function getMigrationPath($slug) { $path = $this->module->getModulePath($slug) . 'Database/Migrations'; return $path; }
/** * Replace placeholder text with correct values. * * @return string */ protected function formatContent($content) { return str_replace(['{{slug}}', '{{name}}', '{{module}}', '{{namespace}}', '{{singular}}', '{{model}}'], [$this->slug, studly_case($this->name), studly_case($this->slug), $this->module->getNamespace(), str_singular($this->name), str_singular(studly_case($this->name))], $content); }
/** * Replace placeholder text with correct values. * * @param string $content * @return string */ protected function formatContent($content) { return str_replace(['{{className}}', '{{moduleName}}', '{{namespace}}', '{{pluralClassName}}', '{{singularClassName}}'], [$this->className, $this->moduleName, $this->module->getNamespace(), str_plural(strtolower($this->className)), str_singular(strtolower($this->className))], $content); }
/** * Get module migration path. * * @return string */ protected function getPath() { $path = $this->module->getModulePath($this->moduleName); return $path . 'Resources/Views/Emails/'; }
/** * Replace placeholder text with correct values. * * @param string $content * @return string */ protected function formatModelContent($content) { return str_replace(['{{namespace}}', '{{moduleName}}', '{{className}}', '{{table}}'], [$this->module->getNamespace(), $this->moduleName, $this->model, $this->table], $content); }