Completed
Push — master ( ef9f2b...6c3b36 )
by wen
02:34
created

Columns   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 1
dl 0
loc 24
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 2
A addColumn() 0 5 1
A parseRow() 0 6 2
1
<?php
2
3
4
namespace Sco\Admin\Column;
5
6
use Illuminate\Database\Eloquent\Model;
7
use JsonSerializable;
8
use Illuminate\Contracts\Support\Arrayable;
9
use Illuminate\Contracts\Support\Jsonable;
10
use Sco\Admin\Contracts\Column\Columns as ColumnsContract;
11
use Sco\Attributes\HasAttributesTrait;
12
13
class Columns implements ColumnsContract, Arrayable, Jsonable, JsonSerializable
14
{
15
    use HasAttributesTrait;
16
17
    public function __construct(array $columns)
18
    {
19
        foreach ($columns as $column) {
20
            $this->addColumn($column);
21
        }
22
    }
23
24
    public function addColumn($column)
25
    {
26
        $columnClass = config('admin.column');
27
        $this->attributes[] = new $columnClass($column);
28
    }
29
30
    public function parseRow(Model $model)
31
    {
32
        foreach ($this->getAttributes() as $column) {
33
            var_dump($column->parseData($model));
0 ignored issues
show
Security Debugging Code introduced by
var_dump($column->parseData($model)); looks like debug code. Are you sure you do not want to remove it? This might expose sensitive data.
Loading history...
34
        }
35
    }
36
}
37