This library provides an object-oriented way to build Specifications for RulerZ.
composer require 'kphoen/rulerz-spec-builder'
$spec = Expr::andX(
Expr::equals('gender', 'F'),
Expr::moreThan('points', 3000)
);
This is equivalent to gender = "F" and points > 3000
Here is a more complex example:
$spec = Expr::orX(
Expr::andX(
Expr::equals('gender', 'F'),
Expr::moreThan('points', 3000)
),
Expr::andX(
Expr::equals('gender', 'M'),
Expr::moreThan('points', 6000)
)
);
Which is equivalent to: (gender = "F" and points > 3000) or (gender = "M" and points > 6000)
See the Expr class for an exhaustive list of supported methods.
This library is under the MIT license.