Completed
Push — feature/improve-code ( e986a1...36787d )
by Avtandil
14:14
created

File   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 65
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 85.71%

Importance

Changes 3
Bugs 1 Features 0
Metric Value
wmc 8
c 3
b 1
f 0
lcom 0
cbo 2
dl 0
loc 65
rs 10
ccs 6
cts 7
cp 0.8571

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getFileId() 0 4 1
A getFileSize() 0 4 1
A getFilePath() 0 4 1
B __construct() 0 11 5
1
<?php
2
/**
3
 * This file is part of the TelegramBot package.
4
 *
5
 * (c) Avtandil Kikabidze aka LONGMAN <[email protected]>
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 */
10
11
namespace Longman\TelegramBot\Entities;
12
13
use Longman\TelegramBot\Exception\TelegramException;
14
15
class File extends Entity
16
{
17
    /**
18
     * @var mixed|null
19
     */
20
    protected $file_id;
21
22
    /**
23
     * @var mixed|null
24
     */
25
    protected $file_size;
26
27
    /**
28
     * @var mixed|null
29
     */
30
    protected $file_path;
31
32
    /**
33
     * File constructor.
34
     *
35
     * @param array $data
36
     * @throws \Longman\TelegramBot\Exception\TelegramException
37
     */
38 1
    public function __construct(array $data)
39
    {
40 1
        $this->file_id = isset($data['file_id']) ? $data['file_id'] : null;
41 1
        if (empty($this->file_id)) {
42
            throw new TelegramException('file_id is empty!');
43
        }
44
45 1
        $this->file_size = isset($data['file_size']) ? $data['file_size'] : null;
46
47 1
        $this->file_path = isset($data['file_path']) ? $data['file_path'] : null;
48 1
    }
49
50
    /**
51
     * Get file id
52
     *
53
     * @return mixed|null
54
     */
55
    public function getFileId()
56
    {
57
        return $this->file_id;
58
    }
59
60
    /**
61
     * Get file size
62
     *
63
     * @return mixed|null
64
     */
65
    public function getFileSize()
66
    {
67
        return $this->file_size;
68
    }
69
70
    /**
71
     * Get file path
72
     *
73
     * @return mixed|null
74
     */
75
    public function getFilePath()
76
    {
77
        return $this->file_path;
78
    }
79
}
80