From 9d2a79125a048f4fc6f9bc3d7683188456849c9a Mon Sep 17 00:00:00 2001 From: Ryan Mitchell Date: Mon, 4 Dec 2023 21:16:05 +0000 Subject: [PATCH] Move try/catch to generate function --- src/Tags/Glide.php | 50 +++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/Tags/Glide.php b/src/Tags/Glide.php index 309a57fa94..b65872afb2 100644 --- a/src/Tags/Glide.php +++ b/src/Tags/Glide.php @@ -132,20 +132,26 @@ public function generate($items = null) $items = is_iterable($items) ? collect($items) : collect([$items]); return $items->map(function ($item) { - $data = ['url' => $this->generateGlideUrl($item)]; + try { + $data = ['url' => $this->generateGlideUrl($item)]; - if ($this->isValidExtension($item)) { - $path = $this->generateImage($item); - $attrs = Attributes::from(GlideManager::cacheDisk(), $path); - $data = array_merge($data, $attrs); - } + if ($this->isValidExtension($item)) { + $path = $this->generateImage($item); + $attrs = Attributes::from(GlideManager::cacheDisk(), $path); + $data = array_merge($data, $attrs); + } - if ($item instanceof Augmentable) { - $data = array_merge($item->toAugmentedArray(), $data); - } + if ($item instanceof Augmentable) { + $data = array_merge($item->toAugmentedArray(), $data); + } + + return $data; + } catch (\Exception $e) { + \Log::error($e->getMessage()); - return $data; - })->all(); + return null; + } + })->filter()->all(); } /** @@ -156,22 +162,16 @@ public function generate($items = null) */ private function generateImage($item) { - try { - $item = $this->normalizeItem($item); - $params = $this->getGlideParams($item); + $item = $this->normalizeItem($item); + $params = $this->getGlideParams($item); - if (is_string($item) && Str::isUrl($item)) { - return Str::startsWith($item, ['http://', 'https://']) - ? $this->getGenerator()->generateByUrl($item, $params) - : $this->getGenerator()->generateByPath($item, $params); - } - - return $this->getGenerator()->generateByAsset(Asset::find($item), $params); - } catch (\Exception $e) { - \Log::error($e->getMessage()); - - return null; + if (is_string($item) && Str::isUrl($item)) { + return Str::startsWith($item, ['http://', 'https://']) + ? $this->getGenerator()->generateByUrl($item, $params) + : $this->getGenerator()->generateByPath($item, $params); } + + return $this->getGenerator()->generateByAsset(Asset::find($item), $params); } /**