Passed
Push — master ( 779ae9...b91fde )
by Alexandr
03:00
created

MessageLarrock::manual()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 6
nc 4
nop 4
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
namespace Larrock\Core\Helpers;
4
5
use Larrock\Core\Events\MessageLarrockEvent;
6
7
/**
8
 * Вывод уведомлений в интерфейс, запись событий в лог
9
 * Class MessageLarrock.
10
 */
11
class MessageLarrock
12
{
13
    /**
14
     * @param string $message
15
     * @param null|bool $logWrite
16
     */
17
    public static function success(string $message, $logWrite = null)
18
    {
19
        \Session::push('message.success', $message);
20
        if ($logWrite) {
21
            \Log::info($message);
22
        }
23
        event(new MessageLarrockEvent('success', $message));
24
    }
25
26
    /**
27
     * @param string $message
28
     * @param null|bool $logWrite
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $exception is correct as it would always require null to be passed?
Loading history...
29
     * @param null $exception
30
     * @throws \Exception
31
     */
32
    public static function danger(string $message, $logWrite = null, $exception = null)
33
    {
34
        \Session::push('message.danger', $message);
35
        if ($logWrite) {
36
            \Log::error($message);
37
        }
38
        event(new MessageLarrockEvent('danger', $message));
39
        if ($exception) {
40
            throw new \Exception($message, 500);
41
        }
42
    }
43
44
    /**
45
     * @param string $message
46
     * @param null|bool $logWrite
47
     */
48
    public static function warning(string $message, $logWrite = null)
49
    {
50
        \Session::push('message.warning', $message);
51
        if ($logWrite) {
52
            \Log::info($message);
53
        }
54
        event(new MessageLarrockEvent('warning', $message));
55
    }
56
57
    /**
58
     * @param string $message
59
     * @param null|bool $logWrite
60
     */
61
    public static function notice(string $message, $logWrite = null)
62
    {
63
        \Session::push('message.notice', $message);
64
        if ($logWrite) {
65
            \Log::notice($message);
66
        }
67
        event(new MessageLarrockEvent('notice', $message));
68
    }
69
70
    /**
71
     * @param string $type - тип ошибки
72
     * @param string $message
73
     * @param null|bool $logWrite
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $exception is correct as it would always require null to be passed?
Loading history...
74
     * @param null $exception
75
     * @throws \Exception
76
     */
77
    public static function manual(string $type, string $message, $logWrite = null, $exception = null)
78
    {
79
        \Session::push('message.'. $type, $message);
80
        if ($logWrite) {
81
            \Log::notice($message);
82
        }
83
        event(new MessageLarrockEvent($type, $message));
84
        if ($exception) {
85
            throw new \Exception($message, 500);
86
        }
87
    }
88
}
89