Current File : /var/www/prestashop/modules/ps_metrics/vendor/friendsofphp/php-cs-fixer/src/RuleSet/RuleSets.php |
<?php
declare (strict_types=1);
/*
* This file is part of PHP CS Fixer.
*
* (c) Fabien Potencier <fabien@symfony.com>
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace ps_metrics_module_v4_0_6\PhpCsFixer\RuleSet;
use Symfony\Component\Finder\Finder;
/**
* Set of rule sets to be used by fixer.
*
* @internal
*/
final class RuleSets
{
/**
* @var array<string,RuleSetDescriptionInterface>
*/
private static $setDefinitions;
/**
* @return array<string, RuleSetDescriptionInterface>
*/
public static function getSetDefinitions() : array
{
if (null === self::$setDefinitions) {
self::$setDefinitions = [];
foreach (Finder::create()->files()->in(__DIR__ . '/Sets') as $file) {
$class = 'PhpCsFixer\\RuleSet\\Sets\\' . $file->getBasename('.php');
$set = new $class();
self::$setDefinitions[$set->getName()] = $set;
}
\ksort(self::$setDefinitions);
}
return self::$setDefinitions;
}
/**
* @return string[]
*/
public static function getSetDefinitionNames() : array
{
return \array_keys(self::getSetDefinitions());
}
public static function getSetDefinition(string $name) : RuleSetDescriptionInterface
{
$definitions = self::getSetDefinitions();
if (!isset($definitions[$name])) {
throw new \InvalidArgumentException(\sprintf('Set "%s" does not exist.', $name));
}
return $definitions[$name];
}
}