Completed
Push — master ( 8c9478...0f7d17 )
by Adam
02:25
created

Csv::fromArray()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 2
crap 1
1
<?php
2
3
namespace BestServedCold\PhalueObjects\Format;
4
5
use BestServedCold\PhalueObjects\Contract\Arrayable;
6
use BestServedCold\PhalueObjects\Contract\VOArrayable;
7
use BestServedCold\PhalueObjects\ValueObject;
8
use BestServedCold\PhalueObjects\VOArray;
9
10
/**
11
 * Class Csv
12
 *
13
 * @package BestServedCold\PhalueObjects\Format
14
 */
15
class Csv extends ValueObject implements Arrayable, VOArrayable
16
{
17
    /**
18
     * @param  array       $array
19
     * @param  string|null $space
20
     * @return static
21
     */
22 14
    public static function fromArray(array $array, $space = null)
23
    {
24 14
        return new static(implode(',' . $space, $array));
25
    }
26
27
    /**
28
     * @param  VOArray $voArray
29
     * @return static
30
     */
31 1
    public static function fromVOArray(VOArray $voArray)
32
    {
33 1
        return self::fromArray($voArray->getValue());
34
    }
35
36
    /**
37
     * @return array
38
     */
39 2
    public function toArray()
40
    {
41 2
        return explode(',', $this->getValue());
42
    }
43
44
    /**
45
     * @return VOArray
46
     */
47 1
    public function toVOArray()
48
    {
49 1
        return VOArray::fromArray(self::toArray());
50
    }
51
}
52