Country::__construct()   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 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
1
<?php
2
3
namespace InternationalInfo;
4
5
use Illuminate\Support\Arr;
6
7
class Country
8
{
9
    protected array $list = [];
10
11 2
    public function __construct(array $name)
12
    {
13 2
        $this->list = $name;
14
    }
15
16 1
    public function list(?string $key = null, mixed $default = null): mixed
17
    {
18 1
        if ($key) {
19 1
            return Arr::get($this->list, $key, $default);
20
        }
21
22 1
        return $this->list;
23
    }
24
25
    /**
26
     * Find correct ISO code.
27
     *
28
     * @param string|null $string $string
29
     *
30
     * @return string|null
31
     */
32 1
    public function findISOCode(?string $string = null): ?string
33
    {
34 1
        $string = (string) $string;
35 1
        if (($key = array_search($string, $this->list))) {
36 1
            return $key;
37
        }
38 1
        $string = strtoupper($string);
39 1
        if (array_key_exists($string, $this->list)) {
40 1
            return $string;
41
        }
42
43 1
        return null;
44
    }
45
}
46