private void eventProduces(string message, ScriptTouchEvents result) { Assert.That( new ScriptTouchHandler( new System.Collections.Generic.List<string>(new[] {"/this/is/rscript"})) .Handle(message), Is.EqualTo(result)); }
private ScriptTouchEvents parseMessage(string message, string addedPattern, ScriptTouchEvents type) { foreach (var path in _rscriptPaths) { if (message.StartsWith(addedPattern + path)) { return type; } } return ScriptTouchEvents.None; }
private void eventProduces(string message, ScriptTouchEvents result) { Assert.That( new ScriptTouchHandler( new System.Collections.Generic.List <string>(new[] { "/this/is/rscript" })) .Handle(message), Is.EqualTo(result)); }
private void handleScriptTouched(string message, ScriptTouchEvents type) { var path = _touchHandler.GetPath(message); if (new ScriptFilter().IsValid(path) == false) { return; } if (type == ScriptTouchEvents.Removed) { Logger.Write("Removing touched rscript"); removeScript(path); return; } // Read script and dispatch errors var script = _reader.ReadScript(path, true); if (script == null) { Logger.Write("No " + path + " rscript found or script crashed. exiting.."); removeScript(path); return; } if (type == ScriptTouchEvents.Pause) { script.Shutdown(); if (!_pausedScripts.Contains(script.Name)) { _pausedScripts.Add(script.Name); } } if (type == ScriptTouchEvents.Resume) { _pausedScripts.Remove(script.Name); if (script.IsService && !script.IsServiceRunning) { script.StartService(); } } if (type == ScriptTouchEvents.Changed || type == ScriptTouchEvents.Added || type == ScriptTouchEvents.Restart) { Logger.Write("Reloading / adding existing rscript"); removeScript(path); _scripts.Add(script); if (script.IsService) { script.StartService(); } } }
private ScriptTouchEvents parseMessage(string message, string addedPattern, ScriptTouchEvents type) { foreach (var path in _rscriptPaths) { if (message.StartsWith(addedPattern + path)) { var scriptRoot = Path.GetDirectoryName(GetPath(message)); // Only accept scripts in rscript root folder if (scriptRoot != path) { continue; } return(type); } } return(ScriptTouchEvents.None); }
private void handleScriptTouched(string message, ScriptTouchEvents type) { var path = _touchHandler.GetPath(message); if (type == ScriptTouchEvents.Removed) { Logger.Write("Removing touched rscript"); _scripts.RemoveAll(x => x.File.Equals(path)); return; } var script = _reader.ReadScript(path); if (script == null) { Logger.Write("No rscript found. Exiting"); return; } if (type == ScriptTouchEvents.Changed || type == ScriptTouchEvents.Added) { Logger.Write("Reloading / adding existing rscript"); _scripts.RemoveAll(x => x.File.Equals(path)); _scripts.Add(script); } }
private ScriptTouchEvents parseMessage(string message, string addedPattern, ScriptTouchEvents type) { foreach (var path in _rscriptPaths) { if (message.StartsWith(addedPattern + path)) { var scriptRoot = Path.GetDirectoryName(GetPath(message)); // Only accept scripts in rscript root folder if (scriptRoot != path) continue; return type; } } return ScriptTouchEvents.None; }
private void handleScriptTouched(string message, ScriptTouchEvents type) { var path = _touchHandler.GetPath(message); if (new ScriptFilter().IsValid(path) == false) return; if (type == ScriptTouchEvents.Removed) { Logger.Write("Removing touched rscript"); removeScript(path); return; } // Read script and dispatch errors var script = _reader.ReadScript(path, true); if (script == null) { Logger.Write("No "+path+" rscript found or script crashed. exiting.."); removeScript(path); return; } if (type == ScriptTouchEvents.Pause) { script.Shutdown(); if (!_pausedScripts.Contains(script.Name)) _pausedScripts.Add(script.Name); } if (type == ScriptTouchEvents.Resume) { _pausedScripts.Remove(script.Name); if (script.IsService && !script.IsServiceRunning) script.StartService(); } if (type == ScriptTouchEvents.Changed || type == ScriptTouchEvents.Added || type == ScriptTouchEvents.Restart) { Logger.Write("Reloading / adding existing rscript"); removeScript(path); _scripts.Add(script); if (script.IsService) script.StartService(); } }