FiatRatesCollectionBuilder::build()   A
last analyzed

Complexity

Conditions 3
Paths 2

Size

Total Lines 13
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 7
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 13
ccs 8
cts 8
cp 1
crap 3
rs 10
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