Ruby & Rules Engines
Szukam prostego sposobu na zdefiniowanie przez użytkowników zestawu reguł filtrowania obiektów.
Np. niech zdefiniują coś w stylu "Powiadom mnie O rezerwacji, jeśli data rezerwacji 100.00"
Mniej więcej: chciałbym mieć silnik Ruby rules z niestandardowym DSL.
Czy jest taka biblioteka? Natknąłem się na Ruleby, ale nie obsługuje jeszcze niestandardowego DSL.
Jak najlepiej to zrobić?
3 answers
Spójrz na Treetop . Możesz zdefiniować DSL jako gramatykę wyrażeń Parsujących, a następnie przetworzyć ją, aby utworzyć reguły w dowolnym formacie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-04 21:15:35
Spójrz na wongi-engine gem jest to nowy silnik reguł oparty na algorytmie Rete, który zbiera ostatnio sporo uwagi.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-17 16:51:12
Nie wiem dokładnie jak i na jakich obiektach te reguły powinny być oceniane, ale jeśli są to modele ActiveRecord to może Ambition byłoby do zrobienia. Pozwala na zapisanie warunków w Rubim, coś w stylu:
User.select { |m| m.name == 'jon' && m.age == 21 }
To zostanie przekonwertowane na SQL i otrzymasz wszystkich użytkowników spełniających podane kryteria
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-05 03:50:16