Passed
Pull Request — main (#8)
by Alex
03:11 queued 01:35
created

PhoneNumber::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 2
dl 0
loc 5
ccs 4
cts 4
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace StraTDeS\VO\Single;
4
5
class PhoneNumber
6
{
7
    private string $prefix;
8
    private string $number;
9
10 6
    private function __construct(string $prefix, string $number)
11
    {
12 6
        $this->prefix = $prefix;
13 6
        $this->number = $number;
14 6
    }
15
16 6
    public static function create(string $prefix, string $number): PhoneNumber
17
    {
18 6
        $prefix = str_replace([' ', '+'], '', $prefix);
19 6
        $number = str_replace(' ', '', $number);
20 6
        return new self($prefix, $number);
21
    }
22
23 1
    public function prefix(): string
24
    {
25 1
        return $this->prefix;
26
    }
27
28 1
    public function number(): string
29
    {
30 1
        return $this->number;
31
    }
32
33 3
    public function equal(PhoneNumber $phoneNumber): bool
34
    {
35 3
        return $this->prefix == $phoneNumber->prefix &&
36 3
            $this->number == $phoneNumber->number;
37
    }
38
}
39