Question

Je recherche un moyen simple de permettre aux utilisateurs de définir un ensemble de règles pour filtrer les objets.

Par exemple. laissez-les définir quelque chose comme "Me notifier à propos d'une réservation si la date de réservation" < 2009/04/30 ET valeur > 100,00 "

Plus ou moins: j'aimerais un moteur de règles Ruby avec un DSL personnalisé.

Existe-t-il une bibliothèque proposant cela? Entré dans Ruleby, mais il ne supporte pas encore le DSL personnalisé.

Quelle est la meilleure approche pour le faire?

Était-ce utile?

La solution

Consultez Treetop . Vous pouvez définir votre DSL en tant que grammaire d’expression d’analyse syntaxique, puis l’analyser pour créer vos règles dans le format de votre choix.

Autres conseils

Consultez la wongi-engine , un nouveau moteur de règles basé sur le L’algorithme Rete fait l’objet d’une attention soutenue ces derniers temps.

Je ne sais pas exactement comment et sur quels objets ces règles doivent être évaluées, mais si ce sont des modèles ActiveRecord, Une ambition serait la bienvenue. Il vous permet d’écrire des conditions en ruby, quelque chose comme:

User.select { |m| m.name == 'jon' && m.age == 21 }

Ceci est converti en SQL et vous obtiendrez tous les utilisateurs satisfaisant les critères donnés

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top