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

EmojiManager::getImageUrl()   B

Complexity

Conditions 5
Paths 2

Size

Total Lines 15
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 5

Importance

Changes 0
Metric Value
cc 5
eloc 7
nc 2
nop 1
dl 0
loc 15
ccs 8
cts 8
cp 1
crap 5
rs 8.8571
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