Total Complexity | 10 |
Total Lines | 53 |
Duplicated Lines | 0 % |
Coverage | 93.33% |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
11 | final class EventCollector implements SummaryCollectorInterface |
||
12 | { |
||
13 | use CollectorTrait; |
||
14 | |||
15 | private array $events = []; |
||
16 | |||
17 | public function __construct(private TimelineCollector $timelineCollector) |
||
18 | { |
||
19 | 1 | } |
|
20 | |||
21 | 1 | public function getCollected(): array |
|
22 | { |
||
23 | if (!$this->isActive()) { |
||
24 | 1 | return []; |
|
25 | } |
||
26 | return $this->events; |
||
27 | } |
||
28 | |||
29 | 1 | public function collect(object $event, string $line): void |
|
30 | { |
||
31 | if ( |
||
32 | !$event instanceof HttpApplicationStartup |
||
33 | && !$event instanceof ConsoleApplicationStartup |
||
34 | 1 | && !$this->isActive() |
|
35 | ) { |
||
36 | return; |
||
37 | 1 | } |
|
38 | |||
39 | 1 | $this->events[] = [ |
|
40 | 1 | 'name' => $event::class, |
|
41 | 'event' => $event, |
||
42 | 1 | 'file' => (new ReflectionClass($event))->getFileName(), |
|
43 | 'line' => $line, |
||
44 | 1 | 'time' => microtime(true), |
|
45 | ]; |
||
46 | $this->timelineCollector->collect($this, spl_object_id($event), $event::class); |
||
47 | } |
||
48 | 1 | ||
49 | public function getSummary(): array |
||
50 | { |
||
51 | if (!$this->isActive()) { |
||
52 | 1 | return []; |
|
53 | } |
||
54 | return [ |
||
55 | 'event' => [ |
||
56 | 'total' => count($this->events), |
||
57 | 1 | ], |
|
58 | ]; |
||
59 | 1 | } |
|
60 | |||
61 | private function reset(): void |
||
64 | } |
||
65 | } |
||
66 |
This check looks for private methods that have been defined, but are not used inside the class.