packages/requirements/tests/Fake/MemorySource.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Fake;
6
7use Override;
8use Requirements\Model\Source;
9use Requirements\Source\SourceExtension;
10use Requirements\Source\Unit;
11
12/**
13 * A source extension whose document is one message held in memory.
14 */
15final class MemorySource implements SourceExtension
16{
17 /**
18 * Selects the single message unit, whatever the selector.
19 *
20 * @param Source $source The source declaration
21 * @param string $selector The selector
22 * @param string $directory The configuration directory
23 * @param bool $live Whether to read live
24 *
25 * @return list<Unit> The message:1 unit
26 */
27 #[Override]
28 public function select(Source $source, string $selector, string $directory, bool $live): array
29 {
30 return [new Unit('message:1', 'A service message.')];
31 }
32}
33