有一些规则引擎,如Treetop或Wongi :: Engine,但似乎都不适合我的个人资料。
我想建立一个可以计算价格的灵活系统。例如:
雪橇的基本价格为100欧元
产品规则:
时间规则:
日期规则:
用户规则:
规则也可以合并(排除/包含):
=>最终价格为100-10-10-2 = 78
答案 0 :(得分:0)
AFAIK,没有捷径可以解决你的问题。
价格规则引擎需要知道底层模型,并能够引用它。通常,用于执行这些操作的最短,最有效的代码已经存在于例如ActiveResource或DataMapper。您可以提出的任何规则都可以直接在操作该模型的Ruby代码中直接表达。通过DSL进行定价,使其更加抽象,是您将单独构建的规则之上的更多工作。在预先打包的电子商务解决方案(数据模型已知)之外,不存在用于产品定价的预构建DSL。
您可能正在寻找面向对象的设计模式,而不是宝石或库。而且你还有很多工作要做。