mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-30 22:53:31 +00:00
695c190be3
94b5561ca8
chore: bump min version of github actions (fix deprecations) (#5675)
40 lines
1.5 KiB
PHP
40 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare (strict_types=1);
|
|
namespace RectorPrefix202403\Doctrine\Inflector;
|
|
|
|
use RectorPrefix202403\Doctrine\Inflector\Rules\English;
|
|
use RectorPrefix202403\Doctrine\Inflector\Rules\French;
|
|
use RectorPrefix202403\Doctrine\Inflector\Rules\NorwegianBokmal;
|
|
use RectorPrefix202403\Doctrine\Inflector\Rules\Portuguese;
|
|
use RectorPrefix202403\Doctrine\Inflector\Rules\Spanish;
|
|
use RectorPrefix202403\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));
|
|
}
|
|
}
|
|
}
|