от библиотеке требуется лишь генерация правильной сетки соответствия дней недель и дат.
where t.name like replace(:search_str, ' ', '%')
Думаю, что это можно как-то сделать по типу, если страница не загружена мы продлим таймаут и спросим чуть позже.
Это понятие содержит полное руководство, как работают такие калькуляторы, и как преобразовывать "человеческий" синтаксис примеров в эту нотацию, чтобы обработать пример.