2013-03-20 11 views
5

Ich möchte Rule Engine in meiner Rails 3.2-Anwendung implementieren, die eine komplexe Pricing-Logik hat. Ich möchte die Bedingungen in der Pricing-Logik in Regeln umwandeln und verwenden. Ich erstelle eine völlig neue Anwendung für diesen Zweck.Implementieren von Rule Engine in Rails-Anwendung

Ich googelte viel in dieser Hinsicht und fand rules_engine, ruleby, treetop, aber die Dokumentation, die sie zur Verfügung stellten, war nicht nur ausreichend, ich kämpfte viel, um das beste für meine Anforderung zu entscheiden.

Was ist der beste Ansatz, um mit der Entwicklung der Rule Engine zu beginnen?

Antwort

5

Ich habe nach einem Prolog-ähnlichen System gesucht, um selbst Regeln zu implementieren. Hier ist, was ich bisher gefunden habe.

Diese Bibliothek enthält eine in Ruby geschriebene Regelengine. Es basiert auf der Rete algorithm und verwendet eine DSL, um Regeln in einer lesbaren Weise auszudrücken.

https://github.com/ulfurinn/wongi-engine

+0

Dank für die Antwort, ging ich durch ihn, seine gut zu einem gewissen Grad, aber was ist, wenn ich meine gesamte Business-Logik-Datenbank als Regeln verschieben wollen, und sie später verwenden, wenn required.How die setzen Logik zur Datenbank und wie man es durch Schienen benutzt, sind irgendwelche Vorschläge immer willkommen. – vishB

+0

Wenn Sie Ihre Regel in der Datenbank festgelegt haben, können Sie einfach mit ActiveRecord eine Schleife erstellen und die Wongi-Engine DSL innerhalb der Schleife verwenden, um sie zu instanziieren. Wenn Sie weitere Fragen haben, warum erstellen Sie nicht eine Stackoverflow-Frage dazu? – nurettin