diff --git a/src/Orchard.Web/Modules/Orchard.Scripting.Dlr/Services/RubyScriptExpressionEvaluator.cs b/src/Orchard.Web/Modules/Orchard.Scripting.Dlr/Services/RubyScriptExpressionEvaluator.cs index 85c6a717e..5f4fa40ac 100644 --- a/src/Orchard.Web/Modules/Orchard.Scripting.Dlr/Services/RubyScriptExpressionEvaluator.cs +++ b/src/Orchard.Web/Modules/Orchard.Scripting.Dlr/Services/RubyScriptExpressionEvaluator.cs @@ -5,16 +5,16 @@ using Orchard.Caching; namespace Orchard.Scripting.Dlr.Services { public class RubyScriptExpressionEvaluator : IScriptExpressionEvaluator { - private readonly IScriptingManager _scriptingManager; - private readonly ICacheManager _cacheManager; + private readonly IScriptingManager _scriptingManager; + private readonly ICacheManager _cacheManager; - public RubyScriptExpressionEvaluator(IScriptingManager scriptingManager, ICacheManager cacheManager) { - _scriptingManager = scriptingManager; - _cacheManager = cacheManager; - } + public RubyScriptExpressionEvaluator(IScriptingManager scriptingManager, ICacheManager cacheManager) { + _scriptingManager = scriptingManager; + _cacheManager = cacheManager; + } - public object Evaluate(string expression, IEnumerable providers) { - object execContextType = _cacheManager.Get("---", ctx => (object)_scriptingManager.ExecuteExpression(@" + public object Evaluate(string expression, IEnumerable providers) { + object execContextType = _cacheManager.Get("---", ctx => (object)_scriptingManager.ExecuteExpression(@" class ExecBlock def initialize(callbacks) @callbacks = callbacks @@ -38,34 +38,34 @@ class ExecContext end ExecContext ")); - var ops = _cacheManager.Get("----", ctx => (ObjectOperations)_scriptingManager.ExecuteOperation(x => x)); - object execContext = _cacheManager.Get(expression, ctx => (object)ops.InvokeMember(execContextType, "alloc", expression)); - dynamic result = ops.InvokeMember(execContext, "evaluate", new CallbackApi(this, providers)); - return result; + var ops = _cacheManager.Get("----", ctx => (ObjectOperations)_scriptingManager.ExecuteOperation(x => x)); + object execContext = _cacheManager.Get(expression, ctx => (object)ops.InvokeMember(execContextType, "alloc", expression)); + dynamic result = ops.InvokeMember(execContext, "evaluate", new CallbackApi(this, providers)); + return result; + } + + public class CallbackApi { + private readonly RubyScriptExpressionEvaluator _ruleManager; + private readonly IEnumerable _providers; + + public CallbackApi(RubyScriptExpressionEvaluator ruleManager, IEnumerable providers) { + _ruleManager = ruleManager; + _providers = providers; } - public class CallbackApi { - private readonly RubyScriptExpressionEvaluator _ruleManager; - private readonly IEnumerable _providers; - - public CallbackApi(RubyScriptExpressionEvaluator ruleManager, IEnumerable providers) { - _ruleManager = ruleManager; - _providers = providers; - } - - public object send(string name, IList args) { - return _ruleManager.Evaluate(_providers, name, args); - } - } - - private object Evaluate(IEnumerable providers, string name, IList args) { - GlobalMethodContext ruleContext = new GlobalMethodContext { FunctionName = name, Arguments = args.ToArray() }; - - foreach (var ruleProvider in providers) { - ruleProvider.Process(ruleContext); - } - - return ruleContext.Result; + public object send(string name, IList args) { + return _ruleManager.Evaluate(_providers, name, args); } } + + private object Evaluate(IEnumerable providers, string name, IList args) { + GlobalMethodContext ruleContext = new GlobalMethodContext { FunctionName = name, Arguments = args.ToArray() }; + + foreach (var ruleProvider in providers) { + ruleProvider.Process(ruleContext); + } + + return ruleContext.Result; + } + } } \ No newline at end of file