Passed
Push — master ( 7cd6c5...dd963e )
by Laurens
04:05
created

BusinessActivityFactory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 24
ccs 10
cts 10
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A fromArray() 0 9 2
A buildFromArray() 0 8 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Werkspot\KvkApi\Client\Factory\Profile\Company;
6
7
use Werkspot\KvkApi\Client\Factory\AbstractFactory;
8
use Werkspot\KvkApi\Client\Profile\Company\BusinessActivity;
9
10
final class BusinessActivityFactory extends AbstractFactory implements BusinessActivityFactoryInterface
11
{
12
    /**
13
     * @return BusinessActivity[]
14
     */
15 15
    public function fromArray(array $data): array
16
    {
17 15
        $businessActivities = [];
18 15
        foreach ($data as $businessActivity) {
19 15
            $businessActivities[] = $this->buildFromArray($businessActivity);
20
        }
21
22 15
        return $businessActivities;
23
    }
24
25 15
    private function buildFromArray(array $data): BusinessActivity
26
    {
27 15
        return new BusinessActivity(
28 15
            $this->extractIntegerOrNull('sbiCode', $data),
29 15
            $this->extractStringOrNull('sbiCodeDescription', $data),
30 15
            $this->extractBoolean('isMainSbi', $data)
31
        );
32
    }
33
}
34