Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
RuleCheckerFactory
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 newRuleChecker
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace MediaWiki\Extension\AbuseFilter\Parser;
4
5use MediaWiki\Extension\AbuseFilter\KeywordsManager;
6use MediaWiki\Extension\AbuseFilter\Variables\VariableHolder;
7use MediaWiki\Extension\AbuseFilter\Variables\VariablesManager;
8use MediaWiki\Language\Language;
9use Psr\Log\LoggerInterface;
10use Wikimedia\Equivset\Equivset;
11use Wikimedia\ObjectCache\BagOStuff;
12use Wikimedia\Stats\IBufferingStatsdDataFactory;
13
14class RuleCheckerFactory {
15    public const SERVICE_NAME = 'AbuseFilterRuleCheckerFactory';
16
17    public function __construct(
18        private readonly Language $contLang,
19        private readonly BagOStuff $cache,
20        private readonly LoggerInterface $logger,
21        private readonly KeywordsManager $keywordsManager,
22        private readonly VariablesManager $varManager,
23        private readonly IBufferingStatsdDataFactory $statsdDataFactory,
24        private readonly Equivset $equivset,
25        private readonly int $conditionsLimit
26    ) {
27    }
28
29    /**
30     * @param VariableHolder|null $vars
31     * @return FilterEvaluator
32     */
33    public function newRuleChecker( ?VariableHolder $vars = null ): FilterEvaluator {
34        return new FilterEvaluator(
35            $this->contLang,
36            $this->cache,
37            $this->logger,
38            $this->keywordsManager,
39            $this->varManager,
40            $this->statsdDataFactory,
41            $this->equivset,
42            $this->conditionsLimit,
43            $vars
44        );
45    }
46}