rector/vendor/doctrine/inflector/lib/Doctrine/Inflector/InflectorFactory.php
Tomas Votruba ff75474d25 Updated Rector to commit 39f43c01cbc34a8bb064f056d39f1b8d2bd7a152
39f43c01cb Use Symfony ~6.1.x to avoid crash on update vendor-patch (#3134)
2022-12-01 14:10:32 +00:00

40 lines
1.5 KiB
PHP

<?php
declare (strict_types=1);
namespace RectorPrefix202212\Doctrine\Inflector;
use RectorPrefix202212\Doctrine\Inflector\Rules\English;
use RectorPrefix202212\Doctrine\Inflector\Rules\French;
use RectorPrefix202212\Doctrine\Inflector\Rules\NorwegianBokmal;
use RectorPrefix202212\Doctrine\Inflector\Rules\Portuguese;
use RectorPrefix202212\Doctrine\Inflector\Rules\Spanish;
use RectorPrefix202212\Doctrine\Inflector\Rules\Turkish;
use InvalidArgumentException;
use function sprintf;
final class InflectorFactory
{
public static function create() : LanguageInflectorFactory
{
return self::createForLanguage(Language::ENGLISH);
}
public static function createForLanguage(string $language) : LanguageInflectorFactory
{
switch ($language) {
case Language::ENGLISH:
return new English\InflectorFactory();
case Language::FRENCH:
return new French\InflectorFactory();
case Language::NORWEGIAN_BOKMAL:
return new NorwegianBokmal\InflectorFactory();
case Language::PORTUGUESE:
return new Portuguese\InflectorFactory();
case Language::SPANISH:
return new Spanish\InflectorFactory();
case Language::TURKISH:
return new Turkish\InflectorFactory();
default:
throw new InvalidArgumentException(sprintf('Language "%s" is not supported.', $language));
}
}
}