From f4136f697c2b12d077b56ebff607d606d6bd3310 Mon Sep 17 00:00:00 2001 From: lukinovec Date: Fri, 22 Jul 2022 09:24:42 +0200 Subject: [PATCH] Code and comment style improvements --- src/Commands/ClearPendingTenants.php | 4 ++-- src/Commands/CreatePendingTenants.php | 12 +++++++----- src/Database/Concerns/HasPending.php | 12 ++++++------ src/Database/Concerns/PendingScope.php | 11 +++-------- src/Tenancy.php | 2 +- 5 files changed, 19 insertions(+), 22 deletions(-) diff --git a/src/Commands/ClearPendingTenants.php b/src/Commands/ClearPendingTenants.php index 67d77d56..5c895c28 100644 --- a/src/Commands/ClearPendingTenants.php +++ b/src/Commands/ClearPendingTenants.php @@ -58,10 +58,10 @@ class ClearPendingTenants extends Command $query->where('data->pending_since', '<', $expireDate->timestamp); }) ->get() - ->each // This makes sure the events or triggered on the model + ->each // Make sure the model events are triggered by deleting the tenants one by one ->delete() ->count(); - $this->info("$deletedPendingCount pending tenant(s) deleted."); + $this->info($deletedPendingCount . ' pending ' . str('tenant')->plural($deletedPendingCount) . ' deleted.'); } } diff --git a/src/Commands/CreatePendingTenants.php b/src/Commands/CreatePendingTenants.php index 76c461b1..f676afa6 100644 --- a/src/Commands/CreatePendingTenants.php +++ b/src/Commands/CreatePendingTenants.php @@ -38,20 +38,22 @@ class CreatePendingTenants extends Command $deployedCount = 0; while ($pendingCurrentCount < $pendingObjectifCount) { tenancy()->model()::createPending(); - // We update the number of pending tenants every time with a query to get a live count. - // this prevents to deploy too many tenants if pending tenants are being created simultaneous somewhere else - // during the runtime of this command. + // Update the number of pending tenants every time with a query to get a live count + // To prevent deploying too many tenants if pending tenants are being created simultaneously somewhere else + // While running this command $pendingCurrentCount = $this->getPendingTenantCount(); $deployedCount++; } - $this->info("$deployedCount tenants deployed, $pendingObjectifCount tenant(s) are ready to be used."); + $this->info($deployedCount . ' ' . str('tenant')->plural($deployedCount) . ' deployed.'); + $this->info($pendingObjecifCount . ' ' . str('tenant')->plural($pendingObjectifCount) . ' ready to be used.'); return 1; } /** - * Calculates the number of pending tenants currently deployed + * Calculate the number of currently deployed pending tenants. + * * @return int */ private function getPendingTenantCount(): int diff --git a/src/Database/Concerns/HasPending.php b/src/Database/Concerns/HasPending.php index 5187733e..e71c0b0a 100644 --- a/src/Database/Concerns/HasPending.php +++ b/src/Database/Concerns/HasPending.php @@ -47,7 +47,7 @@ trait HasPending */ public function pending() { - return !is_null($this->pending_since); + return ! is_null($this->pending_since); } public static function createPending($attributes = []): void @@ -56,8 +56,8 @@ trait HasPending event(new CreatingPendingTenant($tenant)); - // We add the pending value only after the model has then been created. - // this ensures the model is not marked as pending until the migrations, seeders, etc. are done + // Add the pending value only after creating the model + // To ensure it's not marked as pending until finishing running the migrations, seeders, etc. $tenant->update([ 'pending_since' => now()->timestamp ]); @@ -67,14 +67,14 @@ trait HasPending public static function pullPendingTenant(bool $firstOrCreate = false): ?Tenant { - if (!static::onlyPending()->exists()) { - if (!$firstOrCreate) { + if (! static::onlyPending()->exists()) { + if (! $firstOrCreate) { return null; } static::createPending(); } - // At this point we can guarantee a pending tenant is free and can be called. + // At this point, we can guarantee a pending tenant is free and can be called $tenant = static::onlyPending()->first(); event(new PullingPendingTenant($tenant)); diff --git a/src/Database/Concerns/PendingScope.php b/src/Database/Concerns/PendingScope.php index aaa48bfe..01a7b17a 100644 --- a/src/Database/Concerns/PendingScope.php +++ b/src/Database/Concerns/PendingScope.php @@ -27,7 +27,7 @@ class PendingScope implements Scope */ public function apply(Builder $builder, Model $model) { - $builder->when(!config('tenancy.pending.include_in_queries'), function (Builder $builder){ + $builder->when(! config('tenancy.pending.include_in_queries'), function (Builder $builder){ $builder->whereNull('data->pending_since'); }); } @@ -71,10 +71,8 @@ class PendingScope implements Scope { $builder->macro('withoutPending', function (Builder $builder) { - // Only use whereNull('data->pending_since') when Laravel 6 support is dropped - // Issue fixed in Laravel 7 https://github.com/laravel/framework/pull/32417 $builder->withoutGlobalScope($this) - ->where('data->pending_since', 'like', 'null') + ->whereNull('data->pending_since') ->orWhereNull('data'); return $builder; @@ -90,10 +88,7 @@ class PendingScope implements Scope protected function addOnlyPending(Builder $builder) { $builder->macro('onlyPending', function (Builder $builder) { - - // Use whereNotNull when Laravel 6 is dropped - // Issue fixed in Laravel 7 https://github.com/laravel/framework/pull/32417 - $builder->withoutGlobalScope($this)->where('data->pending_since', 'not like', 'null'); + $builder->withoutGlobalScope($this)->whereNotNull('data->pending_since'); return $builder; }); diff --git a/src/Tenancy.php b/src/Tenancy.php index 4051294f..f0afcec3 100644 --- a/src/Tenancy.php +++ b/src/Tenancy.php @@ -152,7 +152,7 @@ class Tenancy // Wrap string in array $tenants = is_string($tenants) ? [$tenants] : $tenants; - // Use all tenants if $tenants is false + // Use all tenants if $tenants is falsy $tenants = $tenants ?: $query->cursor(); $originalTenant = $this->tenant;