cookidoo-shopping-advanced/src/Rules/Omit.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);
}
}
}
}