Passed
Pull Request — master (#12)
by Alex
01:52
created

Clock   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 2
c 1
b 0
f 0
dl 0
loc 14
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A now() 0 3 1
A __construct() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Arp\DateTime\Psr;
6
7
use Arp\DateTime\DateTimeImmutableFactory;
8
use Psr\Clock\ClockInterface;
9
10
final class Clock implements ClockInterface
11
{
12
    public function __construct(
13
        private readonly DateTimeImmutableFactory $factory,
14
        private readonly string|\DateTimeZone|null $dateTimeZone = null,
15
    ) {
16
    }
17
18
    /**
19
     * @throws \Exception
20
     */
21
    public function now(): \DateTimeImmutable
22
    {
23
        return $this->factory->createDateTime('now', $this->dateTimeZone);
24
    }
25
}
26