Lines 100.00% 5 / 5
Methods 100.00% 2 / 2
Classes 100.00% 1 / 1
Name Lines Methods CRAP
 __invoke 100.00% 1 / 1 100.00% 1 / 1 1
 findProcessZone 100.00% 4 / 4 100.00% 1 / 1 2
11final class ProcessTimeZoneProcessor implements ProcessorInterface
12{
13    private ?DateTimeZone $zone = null;
14
15    public function __invoke(LogRecord $record): LogRecord
16    {
17        return $record->with(datetime: $record->datetime->setTimezone($this->findProcessZone()));
18    }
19
20    private function findProcessZone(): DateTimeZone
21    {
22        $name = date_default_timezone_get();
23
24        if ($this->zone?->getName() !== $name) {
25            $this->zone = new DateTimeZone($name);
26        }
27
28        return $this->zone;
29    }
30}