From 60323eca4dcc6679c6274b0cc2a8e3512f44424f Mon Sep 17 00:00:00 2001 From: Caleb White Date: Thu, 18 Jul 2024 23:33:29 -0500 Subject: [PATCH] feat: add sequence resolver info to about command --- src/ServiceProvider.php | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 096b5d1..ede00d2 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -8,10 +8,14 @@ use CalebDW\Laraflake\Mixins\RuleMixin; use CalebDW\Laraflake\Mixins\StrMixin; use Composer\InstalledVersions; +use Godruoyi\Snowflake\FileLockResolver; use Godruoyi\Snowflake\LaravelSequenceResolver; +use Godruoyi\Snowflake\PredisSequenceResolver; use Godruoyi\Snowflake\RandomSequenceResolver; +use Godruoyi\Snowflake\RedisSequenceResolver; use Godruoyi\Snowflake\SequenceResolver; use Godruoyi\Snowflake\Snowflake; +use Godruoyi\Snowflake\SwooleSequenceResolver; use Illuminate\Contracts\Cache\Repository; use Illuminate\Database\Schema\Blueprint; use Illuminate\Foundation\Console\AboutCommand; @@ -38,7 +42,8 @@ public function boot(): void $this->registerMixins(); AboutCommand::add('Laraflake', fn () => [ - 'Version' => InstalledVersions::getPrettyVersion('calebdw/laraflake'), + 'Sequence Resolver' => $this->getPrettyResolver(), + 'Version' => InstalledVersions::getPrettyVersion('calebdw/laraflake'), ]); } @@ -78,4 +83,21 @@ protected function registerSequenceResolver(): void return new LaravelSequenceResolver($repository); }); } + + /** @codeCoverageIgnore */ + protected function getPrettyResolver(): string + { + /** @var SequenceResolver $resolver */ + $resolver = $this->app->make(SequenceResolver::class); + + return match ($resolver::class) { + LaravelSequenceResolver::class => 'Laravel Cache', + RandomSequenceResolver::class => 'Random (unsafe)', + SwooleSequenceResolver::class => 'Swoole', + RedisSequenceResolver::class => 'Redis', + FileLockResolver::class => 'File', + PredisSequenceResolver::class => 'Predis', + default => $resolver::class, + }; + } }