Passed
Pull Request — develop (#1229)
by
unknown
06:08
created

Factory   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 16
c 2
b 0
f 0
dl 0
loc 21
rs 10
wmc 7

1 Method

Rating   Name   Duplication   Size   Complexity  
B make() 0 19 7
1
<?php
2
3
4
namespace Longman\TelegramBot\Entities\ChatMember;
5
6
7
use Longman\TelegramBot\Entities\Entity;
8
use Longman\TelegramBot\Exception\TelegramException;
9
10
class Factory extends \Longman\TelegramBot\Entities\Factory
11
{
12
    public function make(array $data, string $bot_username): Entity
13
    {
14
        $status = $data['status'];
15
        switch ($status) {
16
            case 'creator':
17
                return new ChatMemberOwner($data, $bot_username);
18
            case 'administrator':
19
                return new ChatMemberAdministrator($data, $bot_username);
20
            case 'member':
21
                return new ChatMemberMember($data, $bot_username);
22
            case 'restricted':
23
                return new ChatMemberRestricted($data, $bot_username);
24
            case 'left':
25
                return new ChatMemberLeft($data, $bot_username);
26
            case 'kicked':
27
                return new ChatMemberBanned($data, $bot_username);
28
        }
29
30
        throw new TelegramException('Unexpected ChatMember type');
31
    }
32
}
33