Passed
Pull Request — master (#97)
by Jonathan
02:23
created

Uninflected::getDefault()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 108

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 107
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 108
ccs 107
cts 107
cp 1
rs 8
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\Inflector\Rules\English;
6
7
use Doctrine\Inflector\Rules\Pattern;
8
9
final class Uninflected
10
{
11
    /**
12
     * @return Pattern[]
13
     */
14 524
    public static function getSingular() : iterable
15
    {
16 524
        yield from self::getDefault();
17
18 524
        yield new Pattern('.*ss');
19 524
        yield new Pattern('data');
20 524
        yield new Pattern('pants');
21 524
        yield new Pattern('clothes');
22 524
    }
23
24
    /**
25
     * @return Pattern[]
26
     */
27 524
    public static function getPlural() : iterable
28
    {
29 524
        yield from self::getDefault();
30
31 524
        yield new Pattern('people');
32 524
        yield new Pattern('middleware');
33 524
    }
34
35
    /**
36
     * @return Pattern[]
37
     */
38 526
    private static function getDefault() : iterable
39
    {
40 526
        yield new Pattern('\w+media');
41 526
        yield new Pattern('Amoyese');
42 526
        yield new Pattern('audio');
43 526
        yield new Pattern('bison');
44 526
        yield new Pattern('Borghese');
45 526
        yield new Pattern('bream');
46 526
        yield new Pattern('breeches');
47 526
        yield new Pattern('britches');
48 526
        yield new Pattern('buffalo');
49 526
        yield new Pattern('cantus');
50 526
        yield new Pattern('carp');
51 526
        yield new Pattern('chassis');
52 526
        yield new Pattern('clippers');
53 526
        yield new Pattern('cod');
54 526
        yield new Pattern('coitus');
55 526
        yield new Pattern('compensation');
56 526
        yield new Pattern('Congoese');
57 526
        yield new Pattern('contretemps');
58 526
        yield new Pattern('coreopsis');
59 526
        yield new Pattern('corps');
60 526
        yield new Pattern('data');
61 526
        yield new Pattern('debris');
62 526
        yield new Pattern('deer');
63 526
        yield new Pattern('diabetes');
64 526
        yield new Pattern('djinn');
65 526
        yield new Pattern('education');
66 526
        yield new Pattern('eland');
67 526
        yield new Pattern('elk');
68 526
        yield new Pattern('emoji');
69 526
        yield new Pattern('equipment');
70 526
        yield new Pattern('evidence');
71 526
        yield new Pattern('Faroese');
72 526
        yield new Pattern('feedback');
73 526
        yield new Pattern('fish');
74 526
        yield new Pattern('flounder');
75 526
        yield new Pattern('Foochowese');
76 526
        yield new Pattern('Furniture');
77 526
        yield new Pattern('furniture');
78 526
        yield new Pattern('gallows');
79 526
        yield new Pattern('Genevese');
80 526
        yield new Pattern('Genoese');
81 526
        yield new Pattern('Gilbertese');
82 526
        yield new Pattern('gold');
83 526
        yield new Pattern('headquarters');
84 526
        yield new Pattern('herpes');
85 526
        yield new Pattern('hijinks');
86 526
        yield new Pattern('Hottentotese');
87 526
        yield new Pattern('information');
88 526
        yield new Pattern('innings');
89 526
        yield new Pattern('jackanapes');
90 526
        yield new Pattern('jedi');
91 526
        yield new Pattern('Kiplingese');
92 526
        yield new Pattern('knowledge');
93 526
        yield new Pattern('Kongoese');
94 526
        yield new Pattern('love');
95 526
        yield new Pattern('Lucchese');
96 526
        yield new Pattern('Luggage');
97 526
        yield new Pattern('mackerel');
98 526
        yield new Pattern('Maltese');
99 526
        yield new Pattern('metadata');
100 526
        yield new Pattern('mews');
101 526
        yield new Pattern('moose');
102 526
        yield new Pattern('mumps');
103 526
        yield new Pattern('Nankingese');
104 526
        yield new Pattern('news');
105 526
        yield new Pattern('nexus');
106 526
        yield new Pattern('Niasese');
107 526
        yield new Pattern('nutrition');
108 526
        yield new Pattern('offspring');
109 526
        yield new Pattern('Pekingese');
110 526
        yield new Pattern('Piedmontese');
111 526
        yield new Pattern('pincers');
112 526
        yield new Pattern('Pistoiese');
113 526
        yield new Pattern('plankton');
114 526
        yield new Pattern('pliers');
115 526
        yield new Pattern('pokemon');
116 526
        yield new Pattern('police');
117 526
        yield new Pattern('Portuguese');
118 526
        yield new Pattern('proceedings');
119 526
        yield new Pattern('rabies');
120 526
        yield new Pattern('rain');
121 526
        yield new Pattern('rhinoceros');
122 526
        yield new Pattern('rice');
123 526
        yield new Pattern('salmon');
124 526
        yield new Pattern('Sarawakese');
125 526
        yield new Pattern('scissors');
126 526
        yield new Pattern('sea[- ]bass');
127 526
        yield new Pattern('series');
128 526
        yield new Pattern('Shavese');
129 526
        yield new Pattern('shears');
130 526
        yield new Pattern('sheep');
131 526
        yield new Pattern('siemens');
132 526
        yield new Pattern('species');
133 526
        yield new Pattern('staff');
134 526
        yield new Pattern('swine');
135 526
        yield new Pattern('traffic');
136 526
        yield new Pattern('trousers');
137 526
        yield new Pattern('trout');
138 526
        yield new Pattern('tuna');
139 526
        yield new Pattern('us');
140 526
        yield new Pattern('Vermontese');
141 526
        yield new Pattern('Wenchowese');
142 526
        yield new Pattern('wheat');
143 526
        yield new Pattern('whiting');
144 526
        yield new Pattern('wildebeest');
145 526
        yield new Pattern('Yengeese');
146 526
    }
147
}
148