private object Evaluate(IEnumerable<IGlobalMethodProvider> providers, string name, IEnumerable<object> args) { var ruleContext = new GlobalMethodContext { FunctionName = name, Arguments = args.Select(v => ConvertRubyValue(v)).ToArray() }; foreach (var ruleProvider in providers) { ruleProvider.Process(ruleContext); } return ruleContext.Result; }
public void Process(GlobalMethodContext context) { var ruleContext = new ConditionEvaluationContext { FunctionName = context.FunctionName, Arguments = context.Arguments.ToArray(), Result = context.Result }; _conditionManager._conditions.Evaluate(ruleContext); context.Result = ruleContext.Result; }
public void Process(GlobalMethodContext context) { var ruleContext = new RuleContext { FunctionName = context.FunctionName, Arguments = context.Arguments.ToArray(), Result = context.Result }; _ruleManager._ruleProviders.Process(ruleContext); context.Result = ruleContext.Result; }
private object Evaluate(IEnumerable <IGlobalMethodProvider> providers, string name, IEnumerable <object> args) { var ruleContext = new GlobalMethodContext { FunctionName = name, Arguments = args.Select(v => ConvertRubyValue(v)).ToArray() }; foreach (var ruleProvider in providers) { ruleProvider.Process(ruleContext); } return(ruleContext.Result); }
public void Process(GlobalMethodContext context) { var ruleContext = new RuleContext { FunctionName = context.FunctionName, Arguments = context.Arguments.ToArray(), Result = context.Result }; foreach (var ruleProvider in _ruleManager._ruleProviders) { ruleProvider.Process(ruleContext, _ruleManager._workContext); if (ruleContext.Result != null) { break; } } context.Result = ruleContext.Result; }
public void Process(GlobalMethodContext context) { context.Result = _methodInvocationCallback(context.FunctionName, context.Arguments); }