У меня есть массив тегов для каждого элемента, например:
item1 = ['new', 'expensive']
item2 = ['expensive', 'lame']
У меня также есть логическое выражение в виде строки на основе возможных тегов:
buy_it = "(new || expensive) && !lame"
Как я могу определить, соответствует ли элемент критериям покупки на основе тегов, связанных с ним? Первоначально я думал сделать gsub для всех слов в buy_it, чтобы они стали 'true' или 'false' на основе их существующих в массиве тегов itemx, а затем выполнить полученную строку для получения логического результата.
Но так как сообщество Ruby обычно более креативно, чем я, есть ли лучшее решение?
EDIT:
Просто чтобы уточнить, buy_it в моем примере - динамический, пользователи могут изменить критерии для покупки чего-либо во время выполнения.