From 71eaed27783cfdaa962a85268fb0a0b048e14064 Mon Sep 17 00:00:00 2001 From: Amit Snyderman Date: Thu, 5 Sep 2013 18:16:00 -0400 Subject: [PATCH] Cleanup cache initialization from options --- src/Mustache/Engine.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Mustache/Engine.php b/src/Mustache/Engine.php index 90ffddc..10cbaf8 100644 --- a/src/Mustache/Engine.php +++ b/src/Mustache/Engine.php @@ -55,7 +55,8 @@ class Mustache_Engine * // A Mustache cache instance. Uses a NoopCache if not specified. * 'cacher' => new Mustache_Cache_FilesystemCache(dirname(__FILE__).'/tmp/cache/mustache'), * - * // A cache directory for compiled templates. Mustache will not cache templates unless this is set + * // A Mustache cache instance or a cache directory string for compiled templates. + * // Mustache will not cache templates unless this is set * 'cache' => dirname(__FILE__).'/tmp/cache/mustache', * * // Override default permissions for cache files. Defaults to using the system-defined umask. It is @@ -113,16 +114,15 @@ class Mustache_Engine $this->templateClassPrefix = $options['template_class_prefix']; } - if (isset($options['cacher'])) { - $this->cache = $options['cacher']; - } else if (isset($options['cache'])) { - $cacheFileMode = isset($options['cache_file_mode']) - ? $options['cache_file_mode'] - : null; - $this->cache = new Mustache_Cache_FilesystemCache( - $options['cache'], - $cacheFileMode - ); + if (isset($options['cache'])) { + $cache = $options['cache']; + + if (is_string($cache)) { + $mode = isset($options['cache_file_mode']) ? $options['cache_file_mode'] : null; + $cache = new Mustache_Cache_FilesystemCache($cache, $mode); + } + + $this->setCache($cache); } if (isset($options['loader'])) {