Ruby和规则引擎
我正在寻找一种简单的方法让用户定义一组规则来过滤对象。
例如。 让他们定义类似“如果预订日期 100.00,请通知我预订”
或多或少:我想拥有一个带有自定义DSL的Ruby规则引擎。
有图书馆提供吗? 遇到过Ruleby,但它还不支持自定义DSL。
最好的办法是什么?
看看Treetop 。 您可以将DSL定义为解析表达式语法,然后解析它以您喜欢的任何格式创建规则。
看看wongi-engine gem它是一个基于Rete算法的新规则引擎,最近引起了一些关注。
我不确切地知道应该如何评估这些规则的对象和对象,但如果这些是ActiveRecord模型,那么Ambition就可以了。 它让你在ruby中写条件,例如:
User.select { |m| m.name == 'jon' && m.age == 21 }
这将转换为SQL,您将获得满足给定条件的所有用户
- 在Ruby中为Regex模式生成字符串
- Rails Ziping文件 – 读取二进制数据
- Rails迁移更改列以使用Postgres数组
- Shoulda Matcher和has_many通过:未定义的方法`class_name’为nil:NilClass
- 尝试生成设计时出错:在Ruby on Rails中安装
- Watir帮助:click-no-wait和execute_script无法按预期工作
- 如何在我的Sinantra应用程序/环境下运行Rake任务?
- 是否有类似于C ++ std :: setw(int)函数的Ruby?
- 即使元素可见,Watir-webdriver也会抛出’not clickable’错误