mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 02:44:52 +08:00
Reformat file
--HG-- branch : 1.x
This commit is contained in:
@@ -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<IGlobalMethodProvider> providers) {
|
||||
object execContextType = _cacheManager.Get("---", ctx => (object)_scriptingManager.ExecuteExpression(@"
|
||||
public object Evaluate(string expression, IEnumerable<IGlobalMethodProvider> 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<IGlobalMethodProvider> _providers;
|
||||
|
||||
public CallbackApi(RubyScriptExpressionEvaluator ruleManager, IEnumerable<IGlobalMethodProvider> providers) {
|
||||
_ruleManager = ruleManager;
|
||||
_providers = providers;
|
||||
}
|
||||
|
||||
public class CallbackApi {
|
||||
private readonly RubyScriptExpressionEvaluator _ruleManager;
|
||||
private readonly IEnumerable<IGlobalMethodProvider> _providers;
|
||||
|
||||
public CallbackApi(RubyScriptExpressionEvaluator ruleManager, IEnumerable<IGlobalMethodProvider> providers) {
|
||||
_ruleManager = ruleManager;
|
||||
_providers = providers;
|
||||
}
|
||||
|
||||
public object send(string name, IList<object> args) {
|
||||
return _ruleManager.Evaluate(_providers, name, args);
|
||||
}
|
||||
}
|
||||
|
||||
private object Evaluate(IEnumerable<IGlobalMethodProvider> providers, string name, IList<object> 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<object> args) {
|
||||
return _ruleManager.Evaluate(_providers, name, args);
|
||||
}
|
||||
}
|
||||
|
||||
private object Evaluate(IEnumerable<IGlobalMethodProvider> providers, string name, IList<object> args) {
|
||||
GlobalMethodContext ruleContext = new GlobalMethodContext { FunctionName = name, Arguments = args.ToArray() };
|
||||
|
||||
foreach (var ruleProvider in providers) {
|
||||
ruleProvider.Process(ruleContext);
|
||||
}
|
||||
|
||||
return ruleContext.Result;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user