Completed
Push — master ( 2e778b...f213b5 )
by Takashi
02:31
created

EmojiManager::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Ttskch\Esa;
4
5
class EmojiManager
6
{
7
    /**
8
     * @var Proxy
9
     */
10
    private $esa;
11
12
    /**
13
     * @var array
14
     */
15
    private $emojis;
16
17 7
    public function __construct(Proxy $esa)
18
    {
19 7
        $this->esa = $esa;
20 7
        $this->emojis = $this->esa->getEmojis();
21 7
    }
22
23
    /**
24
     * @param $code
25
     * @return string
26
     */
27 7
    public function getImageUrl($code)
28
    {
29 7
        foreach ($this->emojis as $emoji) {
30 7
            if ($emoji['code'] === $code) {
31 2
                return $emoji['url'];
32
            }
33
34 6
            foreach ($emoji['aliases'] as $alias) {
35 6
                if ($alias === $code) {
36 6
                    return $emoji['url'];
37
                }
38
            }
39
        }
40
41 1
        throw new \LogicException('Undefined emoji code.');
42
    }
43
}
44