Completed
Push — master ( caad37...82c5ce )
by Dmitriy
06:13
created

Children::__construct()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3

Importance

Changes 2
Bugs 1 Features 1
Metric Value
c 2
b 1
f 1
dl 0
loc 11
ccs 8
cts 8
cp 1
rs 9.4286
cc 3
eloc 5
nc 2
nop 1
crap 3
1
<?php
2
3
namespace Yandex\Market\Content\Models;
4
5
use Yandex\Common\ObjectModel;
6
7
class Children extends ObjectModel
8
{
9
    /**
10
     * Constructor
11
     *
12
     * @param array $data
13
     */
14 1
    public function __construct($data = array())
15
    {
16
        // fix children inheritance
17 1
        if (isset($data['models'])
18 1
            && count($data['models']) > 0
19 1
        ) {
20 1
            $data = $data['models'];
21 1
        }
22
23 1
        parent::__construct($data);
24 1
    }
25
26
    /**
27
     * Add childModel to collection
28
     *
29
     * @param ModelChild|array $childModel
30
     *
31
     * @return Children
32
     */
33 1
    public function add($childModel)
34
    {
35 1
        if (is_array($childModel)) {
36 1
            $this->collection[] = new ModelChild($childModel);
37 1
        } elseif (is_object($childModel) && $childModel instanceof ModelChild) {
38
            $this->collection[] = $childModel;
39
        }
40
41 1
        return $this;
42
    }
43
44
    /**
45
     * Retrieve the collection property
46
     *
47
     * @return Children
48
     */
49
    public function getAll()
50
    {
51
        return $this->collection;
52
    }
53
}
54