Passed
Push — main ( 9ad958...bccbba )
by Andrey
72:16 queued 69:33
created

Logger::logProcess()   B

Complexity

Conditions 9
Paths 10

Size

Total Lines 25
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 18
CRAP Score 9

Importance

Changes 0
Metric Value
cc 9
eloc 17
nc 10
nop 1
dl 0
loc 25
ccs 18
cts 18
cp 1
crap 9
rs 8.0555
c 0
b 0
f 0
1
<?php
2
3
namespace Helldar\LaravelLangPublisher\Concerns;
4
5
use Helldar\Verbose\Facades\Log;
6
use Helldar\Verbose\Services\Logger as Service;
7
8
trait Logger
9
{
10 15
    protected function setLogger(): void
11
    {
12 15
        Service::io($this->output);
13 15
    }
14
15 20
    protected function log(...$message): void
16
    {
17 20
        $value = $this->logProcess($message);
18
19 20
        Log::write($value);
20 20
    }
21
22 20
    protected function logProcess(array $values): string
23
    {
24 20
        foreach ($values as &$value) {
25 20
            switch (gettype($value)) {
26 20
                case 'boolean':
27 20
                case 'bool':
28 20
                    $value = $value ? '"true"' : '"false"';
29 20
                    break;
30
31 20
                case 'integer':
32 20
                case 'double':
33 12
                    $value = '"' . $value . '"';
34 12
                    break;
35
36 20
                case 'array':
37 20
                    $value = implode(', ', $value);
38 20
                    break;
39
40 20
                case 'NULL':
41 17
                    $value = '"null"';
42 17
                    break;
43
            }
44
        }
45
46 20
        return implode(' ', $values);
47
    }
48
}
49