Completed
Push — master ( 40f238...03c1d9 )
by Greg
7s
created

AssociativeList   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 2
Bugs 0 Features 2
Metric Value
wmc 3
c 2
b 0
f 2
lcom 1
cbo 2
dl 0
loc 22
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A restructure() 0 7 1
A getListData() 0 4 1
1
<?php
2
namespace Consolidation\OutputFormatters\StructuredData;
3
4
use Consolidation\OutputFormatters\RestructureInterface;
5
use Consolidation\OutputFormatters\StructuredData\ListDataInterface;
6
use Consolidation\OutputFormatters\Transformations\PropertyParser;
7
use Consolidation\OutputFormatters\Transformations\ReorderFields;
8
use Consolidation\OutputFormatters\Transformations\TableTransformation;
9
10
/**
11
 * Holds an array where each element of the array is one
12
 * key : value pair.  The keys must be unique, as is typically
13
 * the case for associative arrays.
14
 */
15
class AssociativeList extends RowsOfFields implements ListDataInterface
16
{
17
    protected $data;
18
19
    public function __construct($data)
20
    {
21
        parent::__construct($data);
22
    }
23
24
    public function restructure($configurationData, $options)
25
    {
26
        $data = [$this->getArrayCopy()];
27
        $tableTransformer = $this->createTableTransformation($data, $configurationData, $options);
28
        $tableTransformer->setLayout(TableTransformation::LIST_LAYOUT);
29
        return $tableTransformer;
30
    }
31
32
    public function getListData()
33
    {
34
        return $this->getArrayCopy();
35
    }
36
}
37