1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\Inflector\Rules\English;
6
7use Doctrine\Inflector\Rules\Patterns;
8use Doctrine\Inflector\Rules\Ruleset;
9use Doctrine\Inflector\Rules\Substitutions;
10use Doctrine\Inflector\Rules\Transformations;
11
12final class Rules
13{
14    public static function getSingularRuleset() : Ruleset
15    {
16        return new Ruleset(
17            new Transformations(...Inflectible::getSingular()),
18            new Patterns(...Uninflected::getSingular()),
19            (new Substitutions(...Inflectible::getIrregular()))->getFlippedSubstitutions()
20        );
21    }
22
23    public static function getPluralRuleset() : Ruleset
24    {
25        return new Ruleset(
26            new Transformations(...Inflectible::getPlural()),
27            new Patterns(...Uninflected::getPlural()),
28            new Substitutions(...Inflectible::getIrregular())
29        );
30    }
31}
32