From 42c7255012cb2d2ff0dc2152298ff84a6cc8cbee Mon Sep 17 00:00:00 2001 From: Muhammad M Date: Sun, 17 Sep 2023 15:03:43 +0330 Subject: [PATCH] refactoring by extracting the passedDays() method --- app/Listeners/ChallengeAchievementsListener.php | 8 +------- app/Models/Challenge.php | 8 ++++++++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/Listeners/ChallengeAchievementsListener.php b/app/Listeners/ChallengeAchievementsListener.php index afda4a5..41b311f 100644 --- a/app/Listeners/ChallengeAchievementsListener.php +++ b/app/Listeners/ChallengeAchievementsListener.php @@ -15,13 +15,7 @@ public function __construct( public function handle($event) { - $passedDays = $event - ->challenge - ->continued_at - ->diff($event->challenge->created_at) - ->d; - - $achievement = Achievement::getByPassedDays($passedDays); + $achievement = Achievement::getByPassedDays($event->challenge->passedDays()); if (! $achievement) { return; diff --git a/app/Models/Challenge.php b/app/Models/Challenge.php index 49d918c..84d216c 100644 --- a/app/Models/Challenge.php +++ b/app/Models/Challenge.php @@ -34,6 +34,14 @@ public function isLikedBy($userId): bool ->exists(); } + public function passedDays(): int + { + return $this + ->continued_at + ->diff($this->created_at) + ->d; + } + public function user() { return $this->belongsTo(User::class);