Languages::getISONumber()   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
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Sokil\IsoCodes\Database;
4
5
use Sokil\IsoCodes\AbstractDatabase;
6
use Sokil\IsoCodes\Database\Languages\Language;
7
8
class Languages extends AbstractDatabase
9
{
10
    /**
11
     * @return string
12
     */
13
    public static function getISONumber()
14
    {
15
        return '639-3';
16
    }
17
18
    /**
19
     * @param array $entry
20
     *
21
     * @return Language
22
     */
23
    protected function arrayToEntry(array $entry)
24
    {
25
        return new Language(
26
            $entry['name'],
27
            $entry['alpha_3'],
28
            $entry['scope'],
29
            $entry['type'],
30
            !empty($entry['inverted_name']) ? $entry['inverted_name'] : null,
31
            !empty($entry['alpha_2']) ? $entry['alpha_2'] : null
32
        );
33
    }
34
35
    /**
36
     * @return array
37
     */
38
    protected function getIndexDefinition()
39
    {
40
        return [
41
            'alpha_2',
42
            'alpha_3',
43
        ];
44
    }
45
46
    /**
47
     * @param string $alpha2
48
     *
49
     * @return null|Language
50
     */
51
    public function getByAlpha2($alpha2)
52
    {
53
        return $this->find('alpha_2', $alpha2);
54
    }
55
56
    /**
57
     * @param string $alpha3
58
     *
59
     * @return null|Language
60
     */
61
    public function getByAlpha3($alpha3)
62
    {
63
        return $this->find('alpha_3', $alpha3);
64
    }
65
}
66