Completed
Push — master ( 8a6725...9de629 )
by Michał
02:24
created

DefaultJsonMessage::createMessage()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 16
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 8
c 0
b 0
f 0
nc 2
nop 2
dl 0
loc 16
rs 9.4285
ccs 10
cts 10
cp 1
crap 2
1
<?php
2
3
namespace SimpleLog\Message;
4
5
class DefaultJsonMessage extends DefaultMessage
6
{
7
    /**
8
     * @var array
9
     */
10
    protected $messageScheme = [];
11
12
    /**
13
     * @var array
14
     */
15
    protected $context = [];
16
17
    /**
18
     * @param string|array|object $message
19
     * @param array $context
20
     * @return $this
21
     */
22 4
    public function createMessage($message, array $context)
23
    {
24 4
        $this->context = $context;
25
26 4
        list($date, $time) = explode(';', strftime(self::DATE_FORMAT . ';' . self::TIME_FORMAT, time()));
27
28 4
        $this->messageScheme['date'] = $date;
29 4
        $this->messageScheme['time'] = $time;
30
31 4
        if (method_exists($message, '__toString')) {
32 1
            $message = (string)$message;
33 1
        }
34
35 4
        $this->messageScheme['data'] = $message;
36
37 4
        return $this;
38
    }
39
40
    /**
41
     * @return string
42
     */
43 4
    public function getMessage()
44
    {
45 4
        $this->message = json_encode($this->messageScheme);
46 4
        $this->buildContext($this->context);
47
48 4
        return $this->message;
49
    }
50
}
51