Completed
Push — master ( d2992a...8fe16f )
by Michał
06:47
created

DefaultJsonMessage::getMessage()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 0
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
    public function createMessage($message, array $context)
23
    {
24
        $this->context = $context;
25
26
        list($date, $time) = explode(';', strftime(self::DATE_FORMAT . ';' . self::TIME_FORMAT, time()));
27
28
        $this->messageScheme['date'] = $date;
29
        $this->messageScheme['time'] = $time;
30
31
        if (method_exists($message, '__toString')) {
32
            $message = (string)$message;
33
        }
34
35
        $this->messageScheme['data'] = $message;
36
37
        return $this;
38
    }
39
40
    /**
41
     * @return string
42
     */
43
    public function getMessage()
44
    {
45
        $this->message = json_encode($this->messageScheme);
46
        $this->buildContext($this->context);
47
48
        return $this->message;
49
    }
50
}
51