Parameter::getNoVowelsInName()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace GilDrd\NameGenerator\Tools;
4
5
class Parameter
6
{
7
    private int $minLength = 0;
8
    private int $maxLength = 0;
9
    private bool $letterInTriple = false;
10
    private bool $noVowelsInName = false;
11
12
    public function setLengthsFromNameList(array $nameList): self
13
    {
14
15
        if (0 === $this->maxLength) {
16
            foreach ($nameList as $name) {
17
                if (strlen($name) > $this->maxLength) {
18
                    $this->maxLength = strlen($name);
19
                }
20
            }
21
        }
22
23
        if (0 === $this->minLength) {
24
            $this->minLength = $this->maxLength;
25
26
            foreach ($nameList as $name) {
27
                if (strlen($name) < $this->minLength) {
28
                    $this->minLength = strlen($name);
29
                }
30
            }
31
        }
32
33
        return $this;
34
    }
35
36
    /**
37
     * @return int
38
     */
39
    public function getMinLength(): int
40
    {
41
        return $this->minLength;
42
    }
43
44
    /**
45
     * @param int $minLength
46
     * @return Parameter
47
     */
48
    public function setMinLength(int $minLength): Parameter
49
    {
50
        $this->minLength = $minLength;
51
52
        return $this;
53
    }
54
55
    /**
56
     * @return int
57
     */
58
    public function getMaxLength(): int
59
    {
60
        return $this->maxLength;
61
    }
62
63
    /**
64
     * @param int $maxLength
65
     * @return Parameter
66
     */
67
    public function setMaxLength(int $maxLength): Parameter
68
    {
69
        $this->maxLength = $maxLength;
70
71
        return $this;
72
    }
73
74
    public function getLetterInTriple(): bool
75
    {
76
        return $this->letterInTriple;
77
    }
78
79
    public function setLetterInTriple(bool $letterInTriple): Parameter
80
    {
81
        $this->letterInTriple = $letterInTriple;
82
83
        return $this;
84
    }
85
86
    public function getNoVowelsInName(): bool
87
    {
88
        return $this->noVowelsInName;
89
    }
90
91
    public function setNoVowelsInName(bool $noVowelsInName): Parameter
92
    {
93
        $this->noVowelsInName = $noVowelsInName;
94
95
        return $this;
96
    }
97
}