Passed
Push — master ( 8884a6...674cbd )
by sarnado
02:38
created

FiatCurrenciesCollectionBuilder::build()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 15
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 4
eloc 7
c 1
b 0
f 0
nc 3
nop 1
dl 0
loc 15
ccs 8
cts 8
cp 1
crap 4
rs 10
1
<?php
2
3
4
namespace Sarnado\Converter\Builders;
5
6
7
use Sarnado\Converter\Collections\FiatCurrenciesCollection;
8
use Sarnado\Converter\Contracts\CollectionBuilderInterface;
9
use Sarnado\Converter\Objects\FiatCurrencyObject;
10
11
/**
12
 * Class FiatCurrenciesCollectionBuilder
13
 * @package Sarnado\Converter\Builders
14
 */
15
class FiatCurrenciesCollectionBuilder implements CollectionBuilderInterface
16
{
17
18
    /**
19
     * @param array $data
20
     * @return FiatCurrenciesCollection
21
     */
22 9
    public static function build(array $data): FiatCurrenciesCollection
23
    {
24 9
        $result = [];
25 9
        if (!empty($data))
26
        {
27 9
            foreach ($data as $item)
28
            {
29 9
                if (!is_string($item))
30
                {
31 3
                    throw new \UnexpectedValueException('Not valid item');
32
                }
33 6
                $result[] = new FiatCurrencyObject($item);
34
            }
35
        }
36 6
        return new FiatCurrenciesCollection($result);
37
    }
38
}
39