Completed
Push — master ( 32cca7...5650e8 )
by Jonathan
15s
created

OutputWriter   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 32
ccs 14
cts 14
cp 1
rs 10
c 0
b 0
f 0
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A write() 0 3 1
A __construct() 0 9 2
A getLastMessage() 0 3 1
A setCallback() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\Migrations;
6
7
/**
8
 * The OutputWriter class is responsible for writing output to the command line when executing migrations.
9
 */
10
class OutputWriter
11
{
12
    /** @var callable */
13
    private $callback;
14
15
    /** @var string */
16
    private $lastMessage = '';
17
18 197
    public function __construct(?callable $callback = null)
19
    {
20 197
        if ($callback === null) {
21
            $callback = function (string $message) : void {
22 41
                $this->lastMessage = $message;
23 168
            };
24
        }
25
26 197
        $this->callback = $callback;
27 197
    }
28
29 18
    public function setCallback(callable $callback) : void
30
    {
31 18
        $this->callback = $callback;
32 18
    }
33
34 63
    public function write(string $message) : void
35
    {
36 63
        ($this->callback)($message);
37 63
    }
38
39 1
    public function getLastMessage() : string
40
    {
41 1
        return $this->lastMessage;
42
    }
43
}
44