Total Complexity | 7 |
Total Lines | 41 |
Duplicated Lines | 0 % |
Coverage | 55% |
Changes | 0 |
1 | <?php |
||
10 | class ExtractorConfig |
||
11 | { |
||
12 | private $saver; |
||
13 | |||
14 | private $tokenizers = []; |
||
15 | |||
16 | 8 | public function __construct(SaverInterface $saver) |
|
17 | { |
||
18 | 8 | $this->saver = $saver; |
|
19 | 8 | } |
|
20 | |||
21 | 4 | public function addTokenizer(Tokenizer $tokenizer): ExtractorConfig |
|
22 | { |
||
23 | 4 | $this->tokenizers[] = $tokenizer; |
|
24 | 4 | return $this; |
|
25 | } |
||
26 | |||
27 | /** |
||
28 | * @return TokenCollection[] |
||
29 | */ |
||
30 | 8 | public function extract(): array |
|
31 | { |
||
32 | 8 | $tokenCollections = []; |
|
33 | 8 | foreach ($this->tokenizers as $tokenizer) { |
|
34 | 4 | $tokenCollections = array_merge($tokenCollections, $tokenizer->tokenize()); |
|
35 | } |
||
36 | 8 | return $tokenCollections; |
|
37 | } |
||
38 | |||
39 | public function process(TokenCollection $tokenCollection, Closure $callback): void |
||
51 | } |
||
52 | } |
||
53 |