NormalizedPhone::getNumber()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * This file is part of RussianPost SDK package.
5
 *
6
 * © Appwilio (http://appwilio.com), JhaoDa (https://github.com/jhaoda)
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace Appwilio\RussianPostSDK\Dispatching\Endpoints\Services\Entities;
15
16
use Appwilio\RussianPostSDK\Dispatching\DataAware;
17
use Appwilio\RussianPostSDK\Dispatching\Enum\PhoneQuality;
18
19
final class NormalizedPhone
20
{
21
    use DataAware;
22
23 1
    public function getId(): string
24
    {
25 1
        return $this->get('id');
26
    }
27
28 1
    public function getCountryCode(): string
29
    {
30 1
        return $this->get('phone-country-code');
31
    }
32
33 1
    public function getCityCode(): string
34
    {
35 1
        return $this->get('phone-city-code');
36
    }
37
38 1
    public function getNumber(): string
39
    {
40 1
        return $this->get('phone-number');
41
    }
42
43 1
    public function getExtension(): string
44
    {
45 1
        return $this->get('phone-extension');
46
    }
47
48 1
    public function getOriginalPhone(): string
49
    {
50 1
        return $this->get('original-phone');
51
    }
52
53 1
    public function getQualityCode(): PhoneQuality
54
    {
55 1
        return new PhoneQuality($this->get('quality-code'));
56
    }
57
58 1
    public function isUseful(): bool
59
    {
60
        return
61 1
            $this->getQualityCode()->equals(PhoneQuality::CONFIRMED_MANUALLY())
62
            ||
63 1
            \strpos($this->getQualityCode()->getValue(), PhoneQuality::GOOD()->getValue()) === 0;
64
    }
65
}
66