first commit
This commit is contained in:
86
modules/Develop/Support/Generate/Module.php
Normal file
86
modules/Develop/Support/Generate/Module.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Develop\Support\Generate;
|
||||
|
||||
use Catch\CatchAdmin;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class Module
|
||||
{
|
||||
public function __construct(
|
||||
public string $module,
|
||||
protected bool $controller,
|
||||
protected bool $models,
|
||||
protected bool $requests,
|
||||
protected bool $database
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* create
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function create(): void
|
||||
{
|
||||
if ($this->controller) {
|
||||
CatchAdmin::getModuleControllerPath($this->module);
|
||||
}
|
||||
|
||||
if ($this->models) {
|
||||
CatchAdmin::getModuleModelPath($this->module);
|
||||
}
|
||||
|
||||
if ($this->requests) {
|
||||
CatchAdmin::getModuleRequestPath($this->module);
|
||||
}
|
||||
|
||||
if ($this->database) {
|
||||
CatchAdmin::getModuleMigrationPath($this->module);
|
||||
CatchAdmin::getModuleSeederPath($this->module);
|
||||
}
|
||||
|
||||
$this->createProvider();
|
||||
|
||||
$this->createRoute();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* delete
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function delete(): void
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* create provider
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function createProvider(): void
|
||||
{
|
||||
CatchAdmin::getModuleProviderPath($this->module);
|
||||
|
||||
File::put(
|
||||
CatchAdmin::getModuleProviderPath($this->module).sprintf('%sServiceProvider.php', ucfirst($this->module)),
|
||||
Str::of(
|
||||
File::get(__DIR__.DIRECTORY_SEPARATOR.'stubs'.DIRECTORY_SEPARATOR.'provider.stub')
|
||||
)->replace(['{Module}', '{module}'], [ucfirst($this->module), $this->module])
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* create route
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function createRoute(): void
|
||||
{
|
||||
File::copy(__DIR__.DIRECTORY_SEPARATOR.'stubs'.DIRECTORY_SEPARATOR.'route.stub', CatchAdmin::getModuleRoutePath($this->module));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user