Passed
Push — master ( 443842...86f0b2 )
by Joshua
05:55 queued 01:59
created

AssetMeta::fromArray()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 3.3332

Importance

Changes 0
Metric Value
cc 3
eloc 5
nc 4
nop 1
dl 0
loc 10
ccs 4
cts 6
cp 0.6667
crap 3.3332
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace SeamsCMS\Delivery\Model;
5
6
class AssetMeta
7
{
8
    use HydratorTrait {
9
        fromArray as private fromArrayTrait;
10
    }
11
12
    /** @var \DateTimeImmutable */
13
    private $createdAt;
14
    /** @var string */
15
    private $createdBy;
16
    /** @var \DateTimeImmutable */
17
    private $updatedAt;
18
    /** @var string */
19
    private $updatedBy;
20
21
    /**
22
     * @return \DateTimeImmutable
23
     */
24
    public function getCreatedAt(): \DateTimeImmutable
25
    {
26
        return $this->createdAt;
27
    }
28
29
    /**
30
     * @return string
31
     */
32
    public function getCreatedBy(): string
33
    {
34
        return $this->createdBy;
35
    }
36
37
    /**
38
     * @return \DateTimeImmutable
39
     */
40
    public function getUpdatedAt(): \DateTimeImmutable
41
    {
42
        return $this->updatedAt;
43
    }
44
45
    /**
46
     * @return string
47
     */
48
    public function getUpdatedBy(): string
49
    {
50
        return $this->updatedBy;
51
    }
52
53 2
    public static function fromArray(array $data)
54
    {
55 2
        if (isset($data['created_at'])) {
56
            $data['created_at'] = new \DateTimeImmutable($data['created_at']);
57
        }
58 2
        if (isset($data['updated_at'])) {
59
            $data['updated_at'] = new \DateTimeImmutable($data['updated_at']);
60
        }
61
62 2
        return self::fromArrayTrait($data);
63
    }
64
}
65