Completed
Push — master ( ce2be0...7bcb9a )
by Olivier
02:08
created

Period   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 0
dl 0
loc 31
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A createFromArray() 0 8 1
A getEndAt() 0 4 1
A getStartAt() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This software may be modified and distributed under the terms
7
 * of the MIT license. See the LICENSE file for details.
8
 */
9
10
namespace Shapin\Stripe\Model\Invoice;
11
12
use Shapin\Stripe\Model\CreatableFromArray;
13
14
final class Period implements CreatableFromArray
15
{
16
    /**
17
     * @var \DateTimeImmutable
18
     */
19
    private $endAt;
20
21
    /**
22
     * @var \DateTimeImmutable
23
     */
24
    private $startAt;
25
26 15
    public static function createFromArray(array $data): self
27
    {
28 15
        $model = new self();
29 15
        $model->endAt = new \DateTimeImmutable('@'.$data['end']);
30 15
        $model->startAt = new \DateTimeImmutable('@'.$data['start']);
31
32 15
        return $model;
33
    }
34
35 1
    public function getEndAt(): \DateTimeImmutable
36
    {
37 1
        return $this->endAt;
38
    }
39
40 1
    public function getStartAt(): \DateTimeImmutable
41
    {
42 1
        return $this->startAt;
43
    }
44
}
45