Completed
Push — master ( 9e7a87...5357d0 )
by Elan
01:21 queued 10s
created

PdoSaver::__destruct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace XHGui\Saver;
4
5
use XHGui\Db\PdoRepository;
6
use XHGui\Util;
7
8
class PdoSaver implements SaverInterface
9
{
10
    /** @var PdoRepository */
11
    private $db;
12
13
    public function __construct(PdoRepository $db)
14
    {
15
        $db->initSchema();
16
        $this->db = $db;
17
    }
18
19
    public function save(array $data)
20
    {
21
        $main = $data['profile']['main()'];
22
23
        // build 'request_ts' and 'request_date' from 'request_ts_micro'
24
        $ts = $data['meta']['request_ts_micro'];
25
        $sec = $ts['sec'];
26
        $usec = $ts['usec'];
27
28
        $this->db->saveProfile([
29
            'id'               => $data['_id'] ?? Util::generateId(),
30
            'profile'          => json_encode($data['profile']),
31
            'url'              => $data['meta']['url'],
32
            'SERVER'           => json_encode($data['meta']['SERVER']),
33
            'GET'              => json_encode($data['meta']['get']),
34
            'ENV'              => json_encode($data['meta']['env']),
35
            'simple_url'       => $data['meta']['simple_url'],
36
            'request_ts'       => $sec,
37
            'request_ts_micro' => "$sec.$usec",
38
            'request_date'     => date('Y-m-d', $sec),
39
            'main_wt'          => $main['wt'],
40
            'main_ct'          => $main['ct'],
41
            'main_cpu'         => $main['cpu'],
42
            'main_mu'          => $main['mu'],
43
            'main_pmu'         => $main['pmu'],
44
        ]);
45
    }
46
}
47