-
Notifications
You must be signed in to change notification settings - Fork 112
Examples
Mithun Satheesh edited this page Jan 17, 2015
·
1 revision
The example below shows how to use the rule engine to apply a sample rule on a specific fact. Rules fed into the rule engine may be as Array of rules or as individual rule objects.
//import the package
var RuleEngine = require('node-rules');
//define the rules
var rules = [{
"condition": function(R) {
R.when(this && (this.transactionTotal < 500));
},
"consequence": function(R) {
this.result = false;
R.stop();
}
}];
/*as you can see above we removed the priority
and on properties for this example as they are optional.*/
//sample fact to run the rules on
var fact = {
"userIP": "27.3.4.5",
"name":"user4",
"application":"MOB2",
"userLoggedIn":true,
"transactionTotal":400,
"cardType":"Credit Card",
};
//initialize the rule engine
var R = new RuleEngine(rules);
//Now pass the fact on to the rule engine for results
R.execute(fact,function(result){
if(result.result)
console.log("\n-----Payment Accepted----\n");
else
console.log("\n-----Payment Rejected----\n");
});