• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eliashaeussler / typo3-warming / 15378984858

01 Jun 2025 08:14PM UTC coverage: 90.534% (-0.5%) from 91.027%
15378984858

push

github

web-flow
Merge pull request #865 from eliashaeussler/fix/crawling-strategy

1 of 9 new or added lines in 2 files covered. (11.11%)

1339 of 1479 relevant lines covered (90.53%)

9.91 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/Classes/DependencyInjection/CrawlingStrategyCompilerPass.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the TYPO3 CMS extension "warming".
7
 *
8
 * Copyright (C) 2021-2025 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 2 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\Typo3Warming\DependencyInjection;
25

26
use EliasHaeussler\CacheWarmup;
27
use Symfony\Component\DependencyInjection;
28

29
/**
30
 * CrawlingStrategyCompilerPass
31
 *
32
 * @author Elias Häußler <elias@haeussler.dev>
33
 * @license GPL-2.0-or-later
34
 */
35
final readonly class CrawlingStrategyCompilerPass implements DependencyInjection\Compiler\CompilerPassInterface
36
{
37
    public const TAG_NAME = 'warming.crawling_strategy';
38

NEW
39
    public function process(DependencyInjection\ContainerBuilder $container): void
×
40
    {
41
        try {
NEW
42
            $factory = $container->getDefinition(CacheWarmup\Crawler\Strategy\CrawlingStrategyFactory::class);
×
NEW
43
        } catch (DependencyInjection\Exception\ServiceNotFoundException) {
×
NEW
44
            return;
×
45
        }
46

NEW
47
        $strategies = [];
×
48

NEW
49
        foreach ($container->findTaggedServiceIds(self::TAG_NAME) as $id => $tags) {
×
NEW
50
            $strategies[] = $container->getDefinition($id)->getClass() ?? $id;
×
51
        }
52

NEW
53
        $factory->setArgument('$strategies', $strategies);
×
54
    }
55
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc