From 2861196cff860b51d2159a65b988d2f6cbeb0fff Mon Sep 17 00:00:00 2001 From: Henry Whitaker Date: Sun, 7 Mar 2021 13:45:29 +0000 Subject: [PATCH] Commands now use provider DI --- app/Console/Commands/SpeedtestCommand.php | 11 ++++++++--- .../Commands/SpeedtestLatestCommand.php | 13 +++++++++---- app/Providers/SpeedtestServiceProvider.php | 19 +++++-------------- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/app/Console/Commands/SpeedtestCommand.php b/app/Console/Commands/SpeedtestCommand.php index 27b7fa9a..4740a67e 100644 --- a/app/Console/Commands/SpeedtestCommand.php +++ b/app/Console/Commands/SpeedtestCommand.php @@ -3,6 +3,7 @@ namespace App\Console\Commands; use App\Helpers\SpeedtestHelper; +use App\Interfaces\SpeedtestProvider; use Illuminate\Console\Command; class SpeedtestCommand extends Command @@ -21,13 +22,17 @@ class SpeedtestCommand extends Command */ protected $description = 'Performs a new speedtest'; + private SpeedtestProvider $speedtestProvider; + /** * Create a new command instance. * * @return void */ - public function __construct() + public function __construct(SpeedtestProvider $speedtestProvider) { + $this->speedtestProvider = $speedtestProvider; + parent::__construct(); } @@ -42,12 +47,12 @@ class SpeedtestCommand extends Command $results = SpeedtestHelper::runSpeedtest(false, false); - if(!is_object($results)) { + if (!is_object($results)) { $this->error('Something went wrong running the speedtest.'); exit(); } - if(property_exists($results, 'ping') && property_exists($results, 'download') && property_exists($results, 'upload')) { + if (property_exists($results, 'ping') && property_exists($results, 'download') && property_exists($results, 'upload')) { $this->error('Something went wrong running the speedtest.'); exit(); } diff --git a/app/Console/Commands/SpeedtestLatestCommand.php b/app/Console/Commands/SpeedtestLatestCommand.php index e76971d8..8fd4bf62 100644 --- a/app/Console/Commands/SpeedtestLatestCommand.php +++ b/app/Console/Commands/SpeedtestLatestCommand.php @@ -3,6 +3,7 @@ namespace App\Console\Commands; use App\Helpers\SpeedtestHelper; +use App\Interfaces\SpeedtestProvider; use Illuminate\Console\Command; use Illuminate\Support\Facades\Artisan; @@ -22,13 +23,17 @@ class SpeedtestLatestCommand extends Command */ protected $description = 'Returns the latest speedtest result'; + private SpeedtestProvider $speedtestProvider; + /** * Create a new command instance. * * @return void */ - public function __construct() + public function __construct(SpeedtestProvider $speedtestProvider) { + $this->speedtestProvider = $speedtestProvider; + parent::__construct(); } @@ -41,8 +46,8 @@ class SpeedtestLatestCommand extends Command { $latest = SpeedtestHelper::latest(); - if($latest) { - if($latest->scheduled) { + if ($latest) { + if ($latest->scheduled) { $extra = '(scheduled)'; } else { $extra = '(manual)'; @@ -50,7 +55,7 @@ class SpeedtestLatestCommand extends Command $this->info('Last speedtest run at: ' . $latest->created_at . ' ' . $extra); - if($latest->failed) { + if ($latest->failed) { $this->error('Speedtest failed'); } else { $this->info('Ping: ' . $latest->ping . ' ms'); diff --git a/app/Providers/SpeedtestServiceProvider.php b/app/Providers/SpeedtestServiceProvider.php index 25487846..ce907155 100644 --- a/app/Providers/SpeedtestServiceProvider.php +++ b/app/Providers/SpeedtestServiceProvider.php @@ -18,20 +18,11 @@ class SpeedtestServiceProvider extends ServiceProvider */ public function boot() { - if (File::exists(env('DB_DATABASE'))) { - if (Schema::hasTable('settings')) { - switch (SettingsHelper::get('speedtest_provider')) { - case 'ookla': - default: - $this->app->singleton( - SpeedtestProvider::class, - function () { - return new OoklaTester(); - } - ); - break; - } + $this->app->singleton( + SpeedtestProvider::class, + function () { + return new OoklaTester(); } - } + ); } }