diff --git a/src/Facades/InboxGroup.php b/src/Facades/InboxGroup.php index 77cee40..542a889 100644 --- a/src/Facades/InboxGroup.php +++ b/src/Facades/InboxGroup.php @@ -9,7 +9,7 @@ use Illuminate\Support\Facades\Facade; /** - * @method static array run(CanMatch $message) + * @method static array run(CanMatch $message, ?bool $continuousMatching=false) * @method static self add(Inbox $inbox) * @method static self fallback($action) * @method static self continuousMatching() diff --git a/src/InboxGroup.php b/src/InboxGroup.php index 99ece5e..dbffe52 100644 --- a/src/InboxGroup.php +++ b/src/InboxGroup.php @@ -5,7 +5,6 @@ namespace Asseco\Inbox; use Asseco\Inbox\Contracts\CanMatch; -use Exception; class InboxGroup { @@ -24,12 +23,14 @@ public function add(Inbox $inbox): self /** * @param CanMatch $message - * @return array - * - * @throws Exception + * @param bool|null $continuousMatching + * @return array|Inbox[]|null[] */ - public function run(CanMatch $message): array + public function run(CanMatch $message, ?bool $continuousMatching = false): array { + if ($continuousMatching) { + $this->continuousMatching(); + } $inboxes = collect($this->inboxes)->sortByDesc('priority'); $matchedInboxes = [];