Skip to content

Commit a36cd67

Browse files
author
ityaozm@gmail.com
committed
refactor(generators): Refactor generator classes
- Extend `Generator` class for common functionality - Remove unnecessary dependencies and unused code - Update class names and namespaces
1 parent a3b1244 commit a36cd67

File tree

5 files changed

+8
-101
lines changed

5 files changed

+8
-101
lines changed

app/Generators/BitoCliGenerator.php

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,10 @@
1212

1313
namespace App\Generators;
1414

15-
use App\Contracts\GeneratorContract;
16-
use Illuminate\Console\OutputStyle;
17-
use Illuminate\Support\Facades\Artisan;
18-
use Symfony\Component\Console\Output\OutputInterface;
1915
use Symfony\Component\Process\Process;
2016

21-
final class BitoCliGenerator implements GeneratorContract
17+
final class BitoCliGenerator extends Generator
2218
{
23-
/**
24-
* @var array
25-
*/
26-
private $config;
27-
28-
/**
29-
* @var \Illuminate\Console\OutputStyle
30-
*/
31-
private $outputStyle;
32-
33-
/**
34-
* @var \Symfony\Component\Console\Helper\ProcessHelper
35-
*/
36-
private $processHelper;
37-
38-
/**
39-
* @psalm-suppress UndefinedMethod
40-
*/
41-
public function __construct(array $config)
42-
{
43-
$this->config = $config;
44-
$this->outputStyle = tap(clone resolve(OutputStyle::class))->setVerbosity(OutputInterface::VERBOSITY_DEBUG);
45-
$this->processHelper = (function () {
46-
/** @noinspection PhpUndefinedMethodInspection */
47-
return $this->getArtisan()->getHelperSet()->get('process');
48-
})->call(Artisan::getFacadeRoot());
49-
}
50-
5119
/**
5220
* @psalm-suppress UnusedClosureParam
5321
*/

app/Generators/ErnieBotGenerator.php

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,25 @@
1212

1313
namespace App\Generators;
1414

15-
use App\Contracts\GeneratorContract;
1615
use App\Support\Ernie;
1716
use ArrayAccess;
18-
use Illuminate\Console\OutputStyle;
1917
use Illuminate\Contracts\Container\BindingResolutionException;
2018
use Illuminate\Http\Client\RequestException;
2119
use Illuminate\Http\Client\Response;
2220
use Illuminate\Support\Arr;
2321
use Illuminate\Support\Str;
2422

25-
class ErnieBotGenerator implements GeneratorContract
23+
class ErnieBotGenerator extends Generator
2624
{
2725
/**
2826
* @var \App\Support\Ernie
2927
*/
3028
protected $ernie;
3129

32-
/**
33-
* @var array
34-
*/
35-
private $config;
36-
37-
/**
38-
* @var \Illuminate\Console\OutputStyle
39-
*/
40-
private $outputStyle;
41-
4230
public function __construct(array $config)
4331
{
44-
$this->config = $config;
32+
parent::__construct($config);
4533
$this->ernie = new Ernie(Arr::only($config, ['http_options', 'retry', 'base_url', 'api_key', 'secret_key']));
46-
$this->outputStyle = resolve(OutputStyle::class);
4734
}
4835

4936
/**

app/Generators/GithubCopilotCliGenerator.php

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,32 +12,10 @@
1212

1313
namespace App\Generators;
1414

15-
use App\Contracts\GeneratorContract;
16-
use Illuminate\Console\OutputStyle;
17-
use Symfony\Component\Console\Output\OutputInterface;
1815
use Symfony\Component\Process\Process;
1916

20-
final class GithubCopilotCliGenerator implements GeneratorContract
17+
final class GithubCopilotCliGenerator extends Generator
2118
{
22-
/**
23-
* @var array
24-
*/
25-
private $config;
26-
27-
/**
28-
* @var \Illuminate\Console\OutputStyle
29-
*/
30-
private $outputStyle;
31-
32-
/**
33-
* @psalm-suppress UndefinedMethod
34-
*/
35-
public function __construct(array $config)
36-
{
37-
$this->config = $config;
38-
$this->outputStyle = tap(clone resolve(OutputStyle::class))->setVerbosity(OutputInterface::VERBOSITY_DEBUG);
39-
}
40-
4119
/**
4220
* @psalm-suppress UnusedClosureParam
4321
*/

app/Generators/MoonshotGenerator.php

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,34 +12,21 @@
1212

1313
namespace App\Generators;
1414

15-
use App\Contracts\GeneratorContract;
1615
use App\Support\FoundationSDK;
1716
use App\Support\Moonshot;
18-
use Illuminate\Console\OutputStyle;
1917
use Illuminate\Support\Arr;
2018

21-
final class MoonshotGenerator implements GeneratorContract
19+
final class MoonshotGenerator extends Generator
2220
{
23-
/**
24-
* @var array
25-
*/
26-
private $config;
27-
2821
/**
2922
* @var \App\Support\Moonshot
3023
*/
3124
private $moonshot;
3225

33-
/**
34-
* @var \Illuminate\Console\OutputStyle
35-
*/
36-
private $outputStyle;
37-
3826
public function __construct(array $config)
3927
{
40-
$this->config = $config;
28+
parent::__construct($config);
4129
$this->moonshot = new Moonshot(Arr::only($config, ['http_options', 'retry', 'base_url', 'api_key']));
42-
$this->outputStyle = resolve(OutputStyle::class);
4330
}
4431

4532
/**

app/Generators/OpenAIGenerator.php

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,35 +12,22 @@
1212

1313
namespace App\Generators;
1414

15-
use App\Contracts\GeneratorContract;
1615
use App\Support\FoundationSDK;
1716
use App\Support\OpenAI;
18-
use Illuminate\Console\OutputStyle;
1917
use Illuminate\Support\Arr;
2018
use Illuminate\Support\Str;
2119

22-
class OpenAIGenerator implements GeneratorContract
20+
class OpenAIGenerator extends Generator
2321
{
24-
/**
25-
* @var array
26-
*/
27-
protected $config = [];
28-
2922
/**
3023
* @var \App\Support\OpenAI
3124
*/
3225
protected $openAI;
3326

34-
/**
35-
* @var \Illuminate\Console\OutputStyle
36-
*/
37-
protected $outputStyle;
38-
3927
public function __construct(array $config)
4028
{
41-
$this->config = $config;
29+
parent::__construct($config);
4230
$this->openAI = new OpenAI(Arr::only($config, ['http_options', 'retry', 'base_url', 'api_key']));
43-
$this->outputStyle = resolve(OutputStyle::class);
4431
}
4532

4633
/**

0 commit comments

Comments
 (0)