23 lines
644 B
PHP
23 lines
644 B
PHP
|
<?php
|
||
|
namespace CookidooShoppingAdvanced\Rules;
|
||
|
|
||
|
use CookidooShoppingAdvanced\Models\ShoppingList;
|
||
|
use Nadar\Stemming\Stemm;
|
||
|
|
||
|
class Omit extends AbstractRule {
|
||
|
private const INGREDIENT_NAMES_TO_OMIT = [
|
||
|
"Wasser",
|
||
|
];
|
||
|
|
||
|
public function filter(ShoppingList &$shoppingList): void {
|
||
|
$omit = array_flip(array_map(static function($item) {
|
||
|
return Stemm::stem($item, 'de');
|
||
|
}, self::INGREDIENT_NAMES_TO_OMIT));
|
||
|
|
||
|
foreach ($shoppingList as $ingredient) {
|
||
|
if (isset($omit[$ingredient->getCleanName()])) {
|
||
|
$shoppingList->remove($ingredient);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|