Completed
Push — master ( 469abd...76f272 )
by Timo
04:05
created

Header::createFromColumn()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
namespace hamburgscleanest\DataTables\Models;
4
5
use hamburgscleanest\DataTables\Interfaces\HeaderFormatter;
6
use Illuminate\Http\Request;
7
8
/**
9
 * Class Header
10
 * @package hamburgscleanest\hamburgscleanest\DataTables\Models
11
 */
12
class Header {
13
14
    /** @var string */
15
    public $name;
16
    /** @var string */
17
    private $_originalName;
18
19
    /**
20
     * Header constructor.
21
     * @param string $name
22
     */
23 22
    public function __construct(string $name)
24
    {
25 22
        $this->_originalName = $name;
26 22
        $this->name = $name;
27 22
    }
28
29
    /**
30
     * @param Column $column
31
     * @return Header
32
     */
33 22
    public static function createFromColumn(Column $column): Header
34
    {
35 22
        return new static($column->name);
36
    }
37
38
    /**
39
     * @return string
40
     */
41 6
    public function getOriginalName(): string
42
    {
43 6
        return $this->_originalName;
44
    }
45
46
    /**
47
     * @param array $headerFormatters
48
     * @param Request $request
49
     */
50 22
    public function formatArray(array $headerFormatters, Request $request)
51
    {
52 22
        foreach ($headerFormatters as $formatter)
53
        {
54 6
            $this->format($formatter, $request);
55
        }
56 22
    }
57
58
    /**
59
     * @param HeaderFormatter $headerFormatter
60
     * @param Request $request
61
     */
62 6
    public function format(HeaderFormatter $headerFormatter, Request $request)
63
    {
64 6
        $headerFormatter->format($this, $request);
65
    }
66
}