From c452d5f6cd87ba512869c12494b73d40b93a2c86 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Sun, 26 Feb 2017 16:52:33 +1300 Subject: [PATCH] API Rename CoreConfigCreator to CoreConfigFactory Fix rebase regressions --- composer.json | 1 - ...onfigCreator.php => CoreConfigFactory.php} | 2 +- .../Config/Middleware/ExtensionMiddleware.php | 16 ++++++++-------- .../Middleware/InheritanceMiddleware.php | 16 ++++++++-------- .../Config/Middleware/MiddlewareCommon.php | 19 +++++++++---------- src/Core/Core.php | 4 ++-- src/Dev/SapphireTest.php | 4 ++-- .../php/Core/Manifest/ConfigManifestTest.php | 4 ++-- 8 files changed, 32 insertions(+), 34 deletions(-) rename src/Core/Config/{CoreConfigCreator.php => CoreConfigFactory.php} (99%) diff --git a/composer.json b/composer.json index e554b661b..afa689464 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,6 @@ "swiftmailer/swiftmailer": "~5.4", "symfony/cache": "^3.3@dev", "symfony/config": "^2.8", - "symfony/cache": "^3.1", "symfony/translation": "^2.8", "vlucas/phpdotenv": "^2.4", "silverstripe/config": "^1@dev" diff --git a/src/Core/Config/CoreConfigCreator.php b/src/Core/Config/CoreConfigFactory.php similarity index 99% rename from src/Core/Config/CoreConfigCreator.php rename to src/Core/Config/CoreConfigFactory.php index 57bd284f5..6de630251 100644 --- a/src/Core/Config/CoreConfigCreator.php +++ b/src/Core/Config/CoreConfigFactory.php @@ -17,7 +17,7 @@ use Symfony\Component\Finder\Finder; /** * Factory for silverstripe configs */ -class CoreConfigCreator +class CoreConfigFactory { /** * @var static diff --git a/src/Core/Config/Middleware/ExtensionMiddleware.php b/src/Core/Config/Middleware/ExtensionMiddleware.php index e78b6c1ed..3780a3de6 100644 --- a/src/Core/Config/Middleware/ExtensionMiddleware.php +++ b/src/Core/Config/Middleware/ExtensionMiddleware.php @@ -10,24 +10,24 @@ use SilverStripe\Core\ClassInfo; use SilverStripe\Core\Config\Config; use SilverStripe\Core\Object; -class ExtensionMiddleware implements \SilverStripe\Config\Middleware\Middleware +class ExtensionMiddleware implements Middleware { use MiddlewareCommon; /** * Get config for a class * - * @param string $class - * @param mixed $options - * @param callable $next - * @return string + * @param string $class Name of class + * @param int|true $excludeMiddleware Middleware disable flags + * @param callable $next Callback to next middleware + * @return array Complete class config */ - public function getClassConfig($class, $options, $next) + public function getClassConfig($class, $excludeMiddleware, $next) { // Get base config - $config = $next($class, $options); + $config = $next($class, $excludeMiddleware); - if (!$this->enabled($options)) { + if (!$this->enabled($excludeMiddleware)) { return $config; } diff --git a/src/Core/Config/Middleware/InheritanceMiddleware.php b/src/Core/Config/Middleware/InheritanceMiddleware.php index 647954e10..526724595 100644 --- a/src/Core/Config/Middleware/InheritanceMiddleware.php +++ b/src/Core/Config/Middleware/InheritanceMiddleware.php @@ -13,22 +13,22 @@ class InheritanceMiddleware implements Middleware /** * Get config for a class * - * @param string $class - * @param mixed $options - * @param callable $next - * @return string + * @param string $class Name of class + * @param int|true $excludeMiddleware Middleware disable flags + * @param callable $next Callback to next middleware + * @return array Complete class config */ - public function getClassConfig($class, $options, $next) + public function getClassConfig($class, $excludeMiddleware, $next) { // Check if enabled - if (!$this->enabled($options)) { - return $next($class, $options); + if (!$this->enabled($excludeMiddleware)) { + return $next($class, $excludeMiddleware); } // Merge hierarchy $config = []; foreach (ClassInfo::ancestry($class) as $nextClass) { - $nextConfig = $next($nextClass, $options); + $nextConfig = $next($nextClass, $excludeMiddleware); $config = Priority::mergeArray($nextConfig, $config); } return $config; diff --git a/src/Core/Config/Middleware/MiddlewareCommon.php b/src/Core/Config/Middleware/MiddlewareCommon.php index 5ff36ffe1..298346b78 100644 --- a/src/Core/Config/Middleware/MiddlewareCommon.php +++ b/src/Core/Config/Middleware/MiddlewareCommon.php @@ -19,22 +19,21 @@ trait MiddlewareCommon $this->disableFlag = $disableFlag; } - protected function enabled($options) + /** + * Check if this middlware is enabled + * + * @param int|true $excludeMiddleware + * @return bool + */ + protected function enabled($excludeMiddleware) { - if ($options === true) { + if ($excludeMiddleware === true) { return false; } if (!$this->disableFlag) { return true; } - if (is_array($options)) { - if (!isset($options['disableFlag'])) { - return true; - } - $options = $options['disableFlag']; - } - - return ($options & $this->disableFlag) !== $this->disableFlag; + return ($excludeMiddleware & $this->disableFlag) !== $this->disableFlag; } public function serialize() diff --git a/src/Core/Core.php b/src/Core/Core.php index abc1731af..e6eea0c82 100644 --- a/src/Core/Core.php +++ b/src/Core/Core.php @@ -1,7 +1,7 @@ pushManifest($moduleManifest); // Build config manifest -$configManifest = CoreConfigCreator::inst()->createRoot($flush); +$configManifest = CoreConfigFactory::inst()->createRoot($flush); ConfigLoader::instance()->pushManifest($configManifest); // After loading config, boot _config.php files diff --git a/src/Dev/SapphireTest.php b/src/Dev/SapphireTest.php index 3a11bb1cb..ddd9cd74c 100644 --- a/src/Dev/SapphireTest.php +++ b/src/Dev/SapphireTest.php @@ -13,7 +13,7 @@ use SilverStripe\Control\Tests\FakeController; use SilverStripe\Core\Config\Config; use SilverStripe\Core\ClassInfo; use SilverStripe\Core\Config\ConfigLoader; -use SilverStripe\Core\Config\CoreConfigCreator; +use SilverStripe\Core\Config\CoreConfigFactory; use SilverStripe\Core\Config\DefaultConfig; use SilverStripe\Core\Config\Middleware\ExtensionMiddleware; use SilverStripe\Core\Flushable; @@ -1028,7 +1028,7 @@ class SapphireTest extends PHPUnit_Framework_TestCase )); // Once new class loader is registered, push a new uncached config - $config = CoreConfigCreator::inst()->createCore(); + $config = CoreConfigFactory::inst()->createCore(); ConfigLoader::instance()->pushManifest($config); // Invalidate classname spec since the test manifest will now pull out new subclasses for each internal class diff --git a/tests/php/Core/Manifest/ConfigManifestTest.php b/tests/php/Core/Manifest/ConfigManifestTest.php index 513a52f41..3ffed2045 100644 --- a/tests/php/Core/Manifest/ConfigManifestTest.php +++ b/tests/php/Core/Manifest/ConfigManifestTest.php @@ -5,7 +5,7 @@ namespace SilverStripe\Core\Tests\Manifest; use Dotenv\Loader; use SilverStripe\Config\Collections\MemoryConfigCollection; use SilverStripe\Control\Director; -use SilverStripe\Core\Config\CoreConfigCreator; +use SilverStripe\Core\Config\CoreConfigFactory; use SilverStripe\Dev\SapphireTest; class ConfigManifestTest extends SapphireTest @@ -29,7 +29,7 @@ class ConfigManifestTest extends SapphireTest public function getTestConfig() { $config = new MemoryConfigCollection(); - $transformer = CoreConfigCreator::inst()->buildYamlTransformerForPath(dirname(__FILE__) . '/fixtures/configmanifest'); + $transformer = CoreConfigFactory::inst()->buildYamlTransformerForPath(dirname(__FILE__) . '/fixtures/configmanifest'); $config->transform([$transformer]); return $config; }