DefaultJsonMessage::getMessage()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

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