From 3c172fd8d9771baf3f251a3f42ebc57718ce9c86 Mon Sep 17 00:00:00 2001 From: Alfred Nutile <365385+alnutile@users.noreply.github.com> Date: Mon, 22 May 2023 10:16:54 -0400 Subject: [PATCH] refactor out some classed to make them shared --- app/Generators/BaseRepository.php | 2 - .../ResponseType/ControllerTransformer.php | 2 +- .../ResponseType/EnumTransformer.php | 2 +- .../ResponseType/GeneratorRepository.php | 55 +------------------ .../ResponseTypeClassTransformer.php | 2 +- .../ResponseType/RoutesTransformer.php | 2 +- .../ResponseType/VueTransformer.php | 2 +- app/Generators/Source/ControllerSource.php | 2 +- app/Generators/Source/GeneratorRepository.php | 2 +- .../{ResponseType => }/TokenReplacer.php | 4 +- config/larachain.php | 7 +++ tests/Feature/ControllerTransformerTest.php | 1 - tests/Feature/TokenReplacerTest.php | 2 +- 13 files changed, 20 insertions(+), 65 deletions(-) rename app/Generators/{ResponseType => }/TokenReplacer.php (78%) diff --git a/app/Generators/BaseRepository.php b/app/Generators/BaseRepository.php index f81dfcb..502c72a 100644 --- a/app/Generators/BaseRepository.php +++ b/app/Generators/BaseRepository.php @@ -32,7 +32,6 @@ public function setup( abstract public function run(): self; - public function getKey(): string { return $this->key; @@ -48,7 +47,6 @@ public function getClassName(): string return $this->class_name; } - public function putFile(string $pathWithName, string $content) { File::put($pathWithName, $content); diff --git a/app/Generators/ResponseType/ControllerTransformer.php b/app/Generators/ResponseType/ControllerTransformer.php index 6d5fc78..3412781 100644 --- a/app/Generators/ResponseType/ControllerTransformer.php +++ b/app/Generators/ResponseType/ControllerTransformer.php @@ -2,7 +2,7 @@ namespace App\Generators\ResponseType; -use Facades\App\Generators\ResponseType\TokenReplacer; +use Facades\App\Generators\TokenReplacer; use Illuminate\Support\Facades\File; class ControllerTransformer extends BaseTransformer diff --git a/app/Generators/ResponseType/EnumTransformer.php b/app/Generators/ResponseType/EnumTransformer.php index 17e69a7..e9eb6a2 100644 --- a/app/Generators/ResponseType/EnumTransformer.php +++ b/app/Generators/ResponseType/EnumTransformer.php @@ -2,7 +2,7 @@ namespace App\Generators\ResponseType; -use Facades\App\Generators\ResponseType\TokenReplacer; +use Facades\App\Generators\TokenReplacer; use Illuminate\Support\Facades\File; class EnumTransformer extends BaseTransformer diff --git a/app/Generators/ResponseType/GeneratorRepository.php b/app/Generators/ResponseType/GeneratorRepository.php index a039565..2ff7901 100644 --- a/app/Generators/ResponseType/GeneratorRepository.php +++ b/app/Generators/ResponseType/GeneratorRepository.php @@ -2,56 +2,17 @@ namespace App\Generators\ResponseType; +use App\Generators\BaseRepository; use Facades\App\Generators\ResponseType\ControllerTransformer; use Facades\App\Generators\ResponseType\EnumTransformer; use Facades\App\Generators\ResponseType\LarachainConfigTransformer; use Facades\App\Generators\ResponseType\ResponseTypeClassTransformer; use Facades\App\Generators\ResponseType\RoutesTransformer; use Facades\App\Generators\ResponseType\VueTransformer; -use Illuminate\Support\Facades\File; -class GeneratorRepository +class GeneratorRepository extends BaseRepository { - public string $name; - - public string $description; - - protected string $key; - - protected bool $requires_settings; - - protected string $class_name; - - public function setup( - string $name, - string $description, - bool $requires_settings = false - ) { - $this->name = $name; - $this->requires_settings = $requires_settings; - $this->description = $description; - $this->class_name = str($name)->studly()->toString(); - $this->key = str($name)->lower()->snake()->toString(); - - return $this; - } - - public function getKey(): string - { - return $this->key; - } - - public function getRequiresSettings(): bool - { - return $this->requires_settings; - } - - public function getClassName(): string - { - return $this->class_name; - } - - public function run() + public function run(): self { ControllerTransformer::handle($this); VueTransformer::handle($this); @@ -62,14 +23,4 @@ public function run() return $this; } - - public function putFile(string $pathWithName, string $content) - { - File::put($pathWithName, $content); - } - - public function getRootPathOrStubs(): string - { - return base_path('STUBS/'); - } } diff --git a/app/Generators/ResponseType/ResponseTypeClassTransformer.php b/app/Generators/ResponseType/ResponseTypeClassTransformer.php index 24ada6e..6439548 100644 --- a/app/Generators/ResponseType/ResponseTypeClassTransformer.php +++ b/app/Generators/ResponseType/ResponseTypeClassTransformer.php @@ -2,7 +2,7 @@ namespace App\Generators\ResponseType; -use Facades\App\Generators\ResponseType\TokenReplacer; +use Facades\App\Generators\TokenReplacer; class ResponseTypeClassTransformer extends BaseTransformer { diff --git a/app/Generators/ResponseType/RoutesTransformer.php b/app/Generators/ResponseType/RoutesTransformer.php index 971d607..9182709 100644 --- a/app/Generators/ResponseType/RoutesTransformer.php +++ b/app/Generators/ResponseType/RoutesTransformer.php @@ -2,7 +2,7 @@ namespace App\Generators\ResponseType; -use Facades\App\Generators\ResponseType\TokenReplacer; +use Facades\App\Generators\TokenReplacer; use Illuminate\Support\Facades\File; class RoutesTransformer extends BaseTransformer diff --git a/app/Generators/ResponseType/VueTransformer.php b/app/Generators/ResponseType/VueTransformer.php index e4178e2..e16fe12 100644 --- a/app/Generators/ResponseType/VueTransformer.php +++ b/app/Generators/ResponseType/VueTransformer.php @@ -2,7 +2,7 @@ namespace App\Generators\ResponseType; -use Facades\App\Generators\ResponseType\TokenReplacer; +use Facades\App\Generators\TokenReplacer; use Illuminate\Support\Facades\File; class VueTransformer extends BaseTransformer diff --git a/app/Generators/Source/ControllerSource.php b/app/Generators/Source/ControllerSource.php index 9c7c68f..c555c3c 100644 --- a/app/Generators/Source/ControllerSource.php +++ b/app/Generators/Source/ControllerSource.php @@ -2,7 +2,7 @@ namespace App\Generators\Source; -use Facades\App\Generators\ResponseType\TokenReplacer; +use Facades\App\Generators\TokenReplacer; use Illuminate\Support\Facades\File; class ControllerSource extends BaseSource diff --git a/app/Generators/Source/GeneratorRepository.php b/app/Generators/Source/GeneratorRepository.php index 451c82c..cb5017b 100644 --- a/app/Generators/Source/GeneratorRepository.php +++ b/app/Generators/Source/GeneratorRepository.php @@ -3,12 +3,12 @@ namespace App\Generators\Source; use App\Generators\BaseRepository; -use Facades\App\Generators\Source\ControllerSource; use Facades\App\Generators\ResponseType\EnumTransformer; use Facades\App\Generators\ResponseType\LarachainConfigTransformer; use Facades\App\Generators\ResponseType\ResponseTypeClassTransformer; use Facades\App\Generators\ResponseType\RoutesTransformer; use Facades\App\Generators\ResponseType\VueTransformer; +use Facades\App\Generators\Source\ControllerSource; class GeneratorRepository extends BaseRepository { diff --git a/app/Generators/ResponseType/TokenReplacer.php b/app/Generators/TokenReplacer.php similarity index 78% rename from app/Generators/ResponseType/TokenReplacer.php rename to app/Generators/TokenReplacer.php index 9079c16..da2ba9b 100644 --- a/app/Generators/ResponseType/TokenReplacer.php +++ b/app/Generators/TokenReplacer.php @@ -1,10 +1,10 @@ replace([ diff --git a/config/larachain.php b/config/larachain.php index 9d813a8..6073dcb 100644 --- a/config/larachain.php +++ b/config/larachain.php @@ -146,5 +146,12 @@ 'background' => 'bg-red-700', 'active' => 1, ], + 'foo_bar' => [ + 'name' => 'Foo Bar', + 'description' => 'Some Response Type', + 'requires' => [ + ], + 'active' => 1, + ], ], ]; diff --git a/tests/Feature/ControllerTransformerTest.php b/tests/Feature/ControllerTransformerTest.php index 2164647..09adc79 100644 --- a/tests/Feature/ControllerTransformerTest.php +++ b/tests/Feature/ControllerTransformerTest.php @@ -4,7 +4,6 @@ use App\Generators\ResponseType\ControllerTransformer; use App\Generators\ResponseType\GeneratorRepository; -use App\Generators\ResponseType\VueTransformer; use Illuminate\Support\Facades\File; use Tests\TestCase; diff --git a/tests/Feature/TokenReplacerTest.php b/tests/Feature/TokenReplacerTest.php index 2feaf6e..751fb02 100644 --- a/tests/Feature/TokenReplacerTest.php +++ b/tests/Feature/TokenReplacerTest.php @@ -3,7 +3,7 @@ namespace Tests\Feature; use App\Generators\ResponseType\GeneratorRepository; -use App\Generators\ResponseType\TokenReplacer; +use App\Generators\TokenReplacer; use Tests\TestCase; class TokenReplacerTest extends TestCase