InlineKeyboard   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 1
dl 0
loc 34
ccs 0
cts 14
cp 0
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A addRow() 0 4 1
A create() 0 9 2
A toArray() 0 3 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: akeinhell
5
 * Date: 06.11.2016
6
 * Time: 11:38
7
 */
8
9
namespace Telegram\Entry;
10
11
12
class InlineKeyboard
13
{
14
    private $rows;
15
16
    /**
17
     * InlineKeyboard constructor.
18
     */
19
    public function __construct()
20
    {
21
        $this->rows = collect();
22
    }
23
24
    /**
25
     * @param KeyboardButton[] $keyboardButtons
26
     */
27
    public function addRow(array $keyboardButtons)
28
    {
29
        $this->rows->push($keyboardButtons);
30
    }
31
32
    public static function create(array $rows = [])
33
    {
34
        $keyboard = new static();
35
        foreach ($rows as $row) {
36
            $keyboard->addRow($row);
37
        }
38
39
        return $keyboard;
40
    }
41
42
    public function toArray(){
43
        return $this->rows->toArray();
44
    }
45
}