Completed
Pull Request — master (#19)
by Michal
08:13
created

RedisHeaderManager::tablesHeaders()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 19
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 25
ccs 19
cts 19
cp 1
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 19
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Adminerng\Drivers\Redis;
4
5
use Adminerng\Core\Column;
6
use Adminerng\Core\ListingHeaders\HeaderManagerInterface;
7
8
class RedisHeaderManager implements HeaderManagerInterface
9
{
10 2
    public function databasesHeaders()
11
    {
12 2
        $columns = [];
13 2
        $columns[] = (new Column('database', 'redis.headers.databases.database'))
14 2
            ->setSortable(true);
15 2
        $columns[] = (new Column('keys', 'redis.headers.databases.keys'))
16 2
            ->setSortable(true)
17 2
            ->setNumeric(true);
18 2
        $columns[] = (new Column('expires', 'redis.headers.databases.expires'))
19 2
            ->setSortable(true)
20 2
            ->setNumeric(true);
21 2
        $columns[] = (new Column('avg_ttl', 'redis.headers.databases.avg_ttl'))
22 2
            ->setSortable(true)
23 2
            ->setNumeric(true)
24 2
            ->setDecimals(2);
25 2
        return $columns;
26
    }
27
28 2
    public function tablesHeaders()
29
    {
30 2
        $keyColumns = [];
31 2
        $keyColumns[] = (new Column('key', 'redis.headers.keys.key'));
32
33 2
        $hashColumns = [];
34 2
        $hashColumns[] = (new Column('key', 'redis.headers.hashes.key'))
35 2
            ->setSortable(true);
36 2
        $hashColumns[] = (new Column('number_of_fields', 'redis.headers.hashes.number_of_fields'))
37 2
            ->setSortable(true)
38 2
            ->setNumeric(true);
39
40 2
        $setColumns = [];
41 2
        $setColumns[] = (new Column('key', 'redis.headers.sets.key'))
42 2
            ->setSortable(true);
43 2
        $setColumns[] = (new Column('number_of_members', 'redis.headers.sets.number_of_members'))
44 2
            ->setSortable(true)
45 2
            ->setNumeric(true);
46
47
        return [
48 2
            RedisDriver::TYPE_KEY => $keyColumns,
49 2
            RedisDriver::TYPE_HASH => $hashColumns,
50 2
            RedisDriver::TYPE_SET => $setColumns,
51 1
        ];
52
    }
53
54 2
    public function itemsHeaders($type, $table)
55
    {
56 2
        $columns = [];
57 2
        if ($type == RedisDriver::TYPE_KEY || $type == RedisDriver::TYPE_HASH) {
58 2
            $columns[] = (new Column('key', 'redis.columns.' . $type . '.key'))
59 2
                ->setSortable(true)
60 2
                ->setFilterable(true);
61 2
            $columns[] = (new Column('length', 'redis.columns.' . $type . '.length'))
62 2
                ->setSortable(true)
63 2
                ->setFilterable(true);
64 2
            $columns[] = (new Column('value', 'redis.columns.' . $type . '.value'))
65 2
                ->setSortable(true)
66 2
                ->setFilterable(true);
67 2
        } elseif ($type == RedisDriver::TYPE_SET) {
68 2
            $columns[] = (new Column('member', 'redis.columns.' . $type . '.member'))
69 2
                ->setSortable(true)
70 2
                ->setFilterable(true);
71 2
            $columns[] = (new Column('length', 'redis.columns.' . $type . '.length'))
72 2
                ->setSortable(true)
73 2
                ->setFilterable(true);
74 1
        }
75 2
        return $columns;
76
    }
77
}
78