TraversableCollectionTraversalStrategy::traverse()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Xsolve\Associate\CollectionTraversal;
4
5
use Xsolve\Associate\ObjectCollection\ObjectCollectionInterface;
6
7
class TraversableCollectionTraversalStrategy implements CollectionTraversalStrategyInterface
8
{
9
    /**
10
     * {@inheritdoc}
11
     */
12
    public function supports($propertyValue): bool
13
    {
14
        return $propertyValue instanceof \Traversable;
15
    }
16
17
    /**
18
     * {@inheritdoc}
19
     */
20
    public function traverse(ObjectCollectionInterface $objectCollection, $propertyValue)
21
    {
22
        /* @var \Traversable $propertyValue */
23
        $objectCollection->addMany(iterator_to_array($propertyValue));
24
    }
25
}
26