Completed
Push — master ( 4848aa...64d9da )
by Dmitry
03:44
created

Mapper::find()   B

Complexity

Conditions 5
Paths 3

Size

Total Lines 16
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 5.025

Importance

Changes 0
Metric Value
dl 0
loc 16
ccs 9
cts 10
cp 0.9
rs 8.8571
c 0
b 0
f 0
cc 5
eloc 10
nc 3
nop 2
crap 5.025
1
<?php
2
3
namespace Basis\Test;
4
5
class Mapper
6
{
7
    protected $data;
8
9 2
    public function __construct($data)
10
    {
11 2
        $this->data = [];
12 2
        foreach ($data as $space => $rows) {
13 2
            $this->data[$space] = [];
14 2
            foreach ($rows as $row) {
15 2
                $this->data[$space][] = (object) $row;
16
            }
17
        }
18 2
    }
19
20 1
    public function find(string $space, $params = [])
21
    {
22 1
        if (array_key_exists($space, $this->data)) {
23 1
            $data = $this->data[$space];
24 1
            if (count($params)) {
25 1
                foreach ($data as $i => $v) {
26 1
                    if (array_intersect_assoc($params, get_object_vars($v)) != $params) {
27 1
                        unset($data[$i]);
28
                    }
29
                }
30 1
                $data = array_values($data);
31
            }
32 1
            return $data;
33
        }
34
        return [];
35
    }
36
}
37