17 lines
484 B
PHP
17 lines
484 B
PHP
|
<?php
|
||
|
namespace CookidooShoppingAdvanced;
|
||
|
|
||
|
use CookidooShoppingAdvanced\Models\ShoppingList;
|
||
|
use CookidooShoppingAdvanced\Rules\AbstractRule;
|
||
|
|
||
|
class RuleApplicator {
|
||
|
public function applyRules(ShoppingList &$shoppingList, array $rules): void {
|
||
|
foreach($rules as $rule) {
|
||
|
$this->applyRule($shoppingList, $rule);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function applyRule(ShoppingList &$shoppingList, AbstractRule $rule): void {
|
||
|
$rule->filter($shoppingList);
|
||
|
}
|
||
|
}
|