The Ruleby DSL

All rules in Ruleby are created using the ‘rule’ method. This method is dynamic in that the arguments it takes can vary. It accepts three different syntaxes, and will detect which is being used when it is invoked.

The three syntaxes are:

It is important to note that most rule engines do not consider their interface to be a DSL. Instead, they are usually referred to as Production Languages or Rule Languages. The Ruleby language has been dubbed a DSL because most Rubyists are familiar with the concept.