From e45c4ff4f1daaeb1b027c04fcfaf4591158f4034 Mon Sep 17 00:00:00 2001 From: luke Date: Thu, 8 Jul 2021 17:30:39 +0100 Subject: [PATCH] Refactors HigherOrderMessage --- src/Support/HigherOrderMessage.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/Support/HigherOrderMessage.php b/src/Support/HigherOrderMessage.php index 5c5ddd07..2a51b7ba 100644 --- a/src/Support/HigherOrderMessage.php +++ b/src/Support/HigherOrderMessage.php @@ -70,8 +70,9 @@ final class HigherOrderMessage */ public function call(object $target) { - if (($value = $this->retrieveHigherOrderCallable($target)) !== null) { - return $value; + if ($this->hasHigherOrderCallable()) { + /* @phpstan-ignore-next-line */ + return (new HigherOrderCallables($target))->{$this->methodName}(...$this->arguments); } try { @@ -93,18 +94,13 @@ final class HigherOrderMessage } /** - * Attempts to call one of the available Higher Order callables if it exists. + * Determines whether or not there exists a higher order callable with the message name. * - * @return mixed|null + * @return bool */ - private function retrieveHigherOrderCallable(object $target) + private function hasHigherOrderCallable() { - if (in_array($this->methodName, get_class_methods(HigherOrderCallables::class), true)) { - /* @phpstan-ignore-next-line */ - return (new HigherOrderCallables($target))->{$this->methodName}(...$this->arguments); - } - - return null; + return in_array($this->methodName, get_class_methods(HigherOrderCallables::class), true); } private static function getUndefinedMethodMessage(object $target, string $methodName): string