From ce7fa775e23d28421875e6ea66ca75e8c52cb7d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Sun, 29 Sep 2019 13:24:57 +0200 Subject: [PATCH] Remove events trait --- src/Traits/TenantManagerEvents.php | 129 ----------------------------- 1 file changed, 129 deletions(-) delete mode 100644 src/Traits/TenantManagerEvents.php diff --git a/src/Traits/TenantManagerEvents.php b/src/Traits/TenantManagerEvents.php deleted file mode 100644 index d10ece26..00000000 --- a/src/Traits/TenantManagerEvents.php +++ /dev/null @@ -1,129 +0,0 @@ - [], - 'bootstrapped' => [], - 'ending' => [], - 'ended' => [], - ]; - - /** - * Integration listeners. - * - * @var callable[][] - */ - protected $integrationListeners = []; - - /** - * Register a listener that will be executed before tenancy is bootstrapped. - * - * @param callable $callback - * @return self - */ - public function bootstrapping(callable $callback) - { - $this->listeners['bootstrapping'][] = $callback; - - return $this; - } - - /** - * Register a listener that will be executed after tenancy is bootstrapped. - * - * @param callable $callback - * @return self - */ - public function bootstrapped(callable $callback) - { - $this->listeners['bootstrapped'][] = $callback; - - return $this; - } - - /** - * Register a listener that will be executed before tenancy is ended. - * - * @param callable $callback - * @return self - */ - public function ending(callable $callback) - { - $this->listeners['ending'][] = $callback; - - return $this; - } - - /** - * Register a listener that will be executed after tenancy is ended. - * - * @param callable $callback - * @return self - */ - public function ended(callable $callback) - { - $this->listeners['ended'][] = $callback; - - return $this; - } - - /** - * Fire an event. - * - * @param string $name Event name - * @return Collection Prevented events - */ - public function event(string $name): Collection - { - return \array_reduce($this->listeners[$name], function ($prevents, $listener) { - return $prevents->merge($listener($this) ?? []); - }, collect([])); - } - - /** - * Register a callback for an integration event. - * - * @param string $name - * @param callable $callback - * @return void - */ - public function integrationEvent(string $name, callable $callback) - { - if (\array_key_exists($name, $this->integrationListeners)) { - $this->integrationListeners[$name][] = $callback; - } else { - $this->integrationListeners[$name] = [$callback]; - } - } - - /** - * Return callbacks for an integration event. - * - * @param string $name - * @param mixed $arguments,... - * @return callable[] - */ - public function integration(string $name, ...$arguments) - { - if ($arguments) { - // If $arguments are supplied, execute all listeners with arguments. - return \array_reduce($this->integrationListeners[$name] ?? [], function ($tags, $listener) use ($arguments) { - return \array_merge($tags, $listener(...$arguments)); - }, []); - } - - return $this->integrationListeners[$name]; - } -}