Passed
Pull Request — master (#39)
by
unknown
08:04
created

SqlQueryResult::getMetadata()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
/**
4
 * This file is part of the Tarantool Client package.
5
 *
6
 * (c) Eugene Leonovich <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace Tarantool\Client;
15
16
final class SqlQueryResult implements \IteratorAggregate
17
{
18
    private $data;
19
    private $metadata;
20
    private $columns;
21 12
22
    public function __construct(array $data, array $metadata)
23 12
    {
24 12
        $this->data = $data;
25 12
        $this->metadata = $metadata;
26
        $this->columns = $this->getColumns()
27 10
    }
0 ignored issues
show
Bug introduced by
A parse error occurred: Syntax error, unexpected '}' on line 27 at column 4
Loading history...
28
29 10
    public function getData() : array
30
    {
31
        return $this->data;
32 2
    }
33
34 2
    public function getMetadata() : array
35
    {
36
        return $this->metadata;
37 2
    }
38
39 2
    public function getIterator() : \Generator
40
    {
41 2
        $keys = \array_column($this->metadata, 0);
42 2
43
        foreach ($this->data as $item) {
44 2
            yield \array_combine($keys, $item);
45
        }
46
    }
47
48
    public function getColumns() : array
49
    {
50
        $keys = \array_column($this->metadata, 0);
51
        
52
        $columns = array();
53
        $columns = \array_combine($keys, $this->data[0]);
54
        return $this->columns = $columns;
55
    }
56
}
57