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

DefaultJsonMessage   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 0
dl 0
loc 46
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A createMessage() 0 17 2
A getMessage() 0 7 1
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