FiatRatesCollectionBuilder   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 20
ccs 8
cts 8
cp 1
rs 10
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A build() 0 13 3
1
<?php
2
3
4
namespace Sarnado\Converter\Builders;
5
6
7
use Sarnado\Converter\Collections\FiatRatesCollection;
8
use Sarnado\Converter\Contracts\CollectionBuilderInterface;
9
10
/**
11
 * Class FiatRatesCollectionBuilder
12
 * @package Sarnado\Converter\Builders
13
 */
14
class FiatRatesCollectionBuilder implements CollectionBuilderInterface
15
{
16
17
    /**
18
     * @param array $data
19
     * @return FiatRatesCollection
20
     */
21 9
    public static function build(array $data = []): FiatRatesCollection
22
    {
23 9
        $res = [];
24 9
        if (!empty($data))
25
        {
26 9
            foreach ($data as $rate)
27
            {
28 9
                $object = FiatRateObjectBuilder::build($rate);
29 6
                $key = $object->getFrom() . '_' . $object->getTo();
30 6
                $result[$key] = $object;
31
            }
32
        }
33 6
        return new FiatRatesCollection($res);
34
    }
35
}
36