DefaultJsonMessage   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 14
c 1
b 0
f 0
dl 0
loc 44
rs 10
ccs 13
cts 13
cp 1
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A createMessage() 0 16 3
A getMessage() 0 6 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