Ruler module implements a DSL that makes it easy to write a set of facts and rules. If you have some tricky conditional logic, Ruler can help clear it up.
Joshua Smith
gem "ruler", "~> 1.2.0"