Completed
Pull Request — master (#19)
by Michal
03:25
created

MemcacheHeaderManager::tablesHeaders()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Adminerng\Drivers\Memcache;
4
5
use Adminerng\Core\Column;
6
use Adminerng\Core\ListingHeaders\HeaderManagerInterface;
7
8
class MemcacheHeaderManager implements HeaderManagerInterface
9
{
10 2
    public function databasesHeaders()
11
    {
12
        $fields = [
13 2
            'server' => ['is_numeric' => false],
14 1
            'process_id' => ['is_numeric' => false],
15 1
            'uptime' => ['is_numeric' => true, 'is_time' => true],
16 1
            'current_items' => ['is_numeric' => true],
17 1
            'total_items' => ['is_numeric' => true],
18 1
            'size' => ['is_numeric' => true, 'is_size' => true],
19 1
            'active_slabs' => ['is_numeric' => true],
20 1
            'total_malloced' => ['is_numeric' => true, 'is_size' => true],
21 1
        ];
22
23 2
        $columns = [];
24 2
        foreach ($fields as $key => $settings) {
25 2
            $column = (new Column($key, 'memcache.headers.servers.' . $key))
26 2
                ->setSortable(true);
27 2
            if (isset($settings['is_numeric'])) {
28 2
                $column->setNumeric($settings['is_numeric']);
29 1
            }
30 2
            if (isset($settings['is_size'])) {
31 2
                $column->setSize($settings['is_size']);
32 1
            }
33 2
            if (isset($settings['is_time'])) {
34 2
                $column->setTime($settings['is_time']);
35 1
            }
36 2
            $columns[] = $column;
37 1
        }
38 2
        return $columns;
39
    }
40
41 2
    public function tablesHeaders()
42
    {
43 2
        return [];
44
    }
45
46 2
    public function itemsHeaders($type, $table)
47
    {
48 2
        $columns = [];
49 2
        if ($type == MemcacheDriver::TYPE_KEY) {
50 2
            $columns[] = (new Column('key', 'memcache.columns.' . $type . '.key'))
51 2
                ->setSortable(true)
52 2
                ->setFilterable(true);
53 2
            $columns[] = (new Column('value', 'memcache.columns.' . $type . '.value'))
54 2
                ->setSortable(true)
55 2
                ->setFilterable(true);
56 2
            $columns[] = (new Column('length', 'memcache.columns.' . $type . '.length'))
57 2
                ->setSortable(true)
58 2
                ->setFilterable(true)
59 2
                ->setNumeric(true);
60 2
            $columns[] = (new Column('expiration', 'memcache.columns.' . $type . '.expiration'))
61 2
                ->setSortable(true)
62 2
                ->setFilterable(true)
63 2
                ->setNumeric(true)
64 2
                ->setTime(true);
65 2
            $columns[] = (new Column('compressed', 'memcache.columns.' . $type . '.compressed'))
66 2
                ->setSortable(true)
67 2
                ->setFilterable(true);
68 1
        }
69 2
        return $columns;
70
    }
71
}
72