SAREhub/EasyECA

View on GitHub
src/SAREhub/EasyECA/Rule/RuleGroupParser.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php


namespace SAREhub\EasyECA\Rule;


use SAREhub\Client\Processor\MulticastProcessor;
use SAREhub\Client\Processor\Processors;
use SAREhub\EasyECA\Rule\Definition\RuleGroupDefinition;

class RuleGroupParser
{
    /**
     * @var RuleParser
     */
    private $ruleParser;

    public function __construct(RuleParser $ruleParser)
    {
        $this->ruleParser = $ruleParser;
    }

    public function parse(RuleGroupDefinition $definition): MulticastProcessor
    {
        $processor = Processors::multicast();
        foreach ($definition->getRules() as $rule) {
            $processor->add($this->ruleParser->parse($rule));
        }
        return $processor;
    }
}