Lines 91.66% 11 / 12
Functions and Methods 85.71% 6 / 7
Classes and Traits 0.00% 0 / 1
Name Lines Functions and Methods CRAP Classes and Traits
AppActivity 91.66% 11 / 12 85.71% 6 / 7 12.08 0.00% 0 / 1
 recordDeliveredEvent 100.00% 1 / 1 100.00% 1 / 1 1
 recordDroppedEvent 100.00% 1 / 1 100.00% 1 / 1 1
 recordScheduleRun 100.00% 1 / 1 100.00% 1 / 1 1
 recordPublish 100.00% 1 / 1 100.00% 1 / 1 1
 recordFailure 0.00% 0 / 1 0.00% 0 / 1 2
 recordSuppressedWork 100.00% 1 / 1 100.00% 1 / 1 1
 isIdle 100.00% 6 / 6 100.00% 1 / 1 6
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Runtime\Worker;
6
7final class AppActivity
8{
9    public private(set) int $delivered = 0;
10
11    public private(set) int $dropped = 0;
12
13    public private(set) int $scheduleRuns = 0;
14
15    public private(set) int $publishes = 0;
16
17    public private(set) int $failures = 0;
18
19    public private(set) int $suppressed = 0;
20
21    public function recordDeliveredEvent(): void
22    {
23        ++$this->delivered;
24    }
25
26    public function recordDroppedEvent(): void
27    {
28        ++$this->dropped;
29    }
30
31    public function recordScheduleRun(): void
32    {
33        ++$this->scheduleRuns;
34    }
35
36    public function recordPublish(): void
37    {
38        ++$this->publishes;
39    }
40
41    public function recordFailure(): void
42    {
43        ++$this->failures;
44    }
45
46    public function recordSuppressedWork(): void
47    {
48        ++$this->suppressed;
49    }
50
51    public function isIdle(): bool
52    {
53        return $this->delivered === 0
54            && $this->dropped === 0
55            && $this->scheduleRuns === 0
56            && $this->publishes === 0
57            && $this->failures === 0
58            && $this->suppressed === 0;
59    }
60}