From e8fbc1890d4dfc92770807f25fcb0e75188fe33a Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 5 Jul 2018 15:44:16 +0200 Subject: [PATCH] Merge events only in the file adater for cacheDirectory (#26) * Merge events only in the file adater for cacheDirectory * Shorten code --- src/Phug/Renderer/Adapter/FileAdapter.php | 12 +++++------- src/Phug/Renderer/Partial/RendererOptionsTrait.php | 8 -------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/Phug/Renderer/Adapter/FileAdapter.php b/src/Phug/Renderer/Adapter/FileAdapter.php index f61140b..82a366f 100644 --- a/src/Phug/Renderer/Adapter/FileAdapter.php +++ b/src/Phug/Renderer/Adapter/FileAdapter.php @@ -154,25 +154,23 @@ public function cacheDirectory($directory) $errorDetails = []; $renderer = $this->getRenderer(); + $events = $renderer->getCompiler()->getEventListeners(); foreach ($renderer->scanDirectory($directory) as $inputFile) { $renderer->initCompiler(); $compiler = $renderer->getCompiler(); + $compiler->mergeEventListeners($events); $path = $inputFile; $this->isCacheUpToDate($path); $sandBox = $this->getRenderer()->getNewSandBox(function () use (&$success, $compiler, $path, $inputFile) { $this->cacheFileContents($path, $compiler->compileFile($inputFile), $compiler->getCurrentImportPaths()); $success++; }); + $error = $sandBox->getThrowable(); - if ($sandBox->getThrowable()) { + if ($error) { $errors++; - $errorDetails[] = [ - 'directory' => $directory, - 'inputFile' => $inputFile, - 'path' => $path, - 'error' => $sandBox->getThrowable(), - ]; + $errorDetails[] = compact(['directory', 'inputFile', 'path', 'error']); } } diff --git a/src/Phug/Renderer/Partial/RendererOptionsTrait.php b/src/Phug/Renderer/Partial/RendererOptionsTrait.php index c9c3ae0..3db3389 100644 --- a/src/Phug/Renderer/Partial/RendererOptionsTrait.php +++ b/src/Phug/Renderer/Partial/RendererOptionsTrait.php @@ -161,14 +161,6 @@ public function initCompiler() ); } - if (isset($this->compiler)) { - $events = $this->compiler->getEventListeners(); - } - $this->compiler = new $compilerClassName($this->getOptions()); - - if (isset($events)) { - $this->compiler->mergeEventListeners($events); - } } }