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

EmojiManager   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 37
ccs 12
cts 12
cp 1
rs 10
c 0
b 0
f 0
wmc 6

2 Methods

Rating   Name   Duplication   Size   Complexity  
B getImageUrl() 0 15 5
A __construct() 0 4 1
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