void ApplyPreCompilationStepsOn(SourceFile file) { foreach (IPreCompilationStep step in preCompilationSteps) { step.Process(file); } }
private void RunSteps(SourceFile file) { foreach (IPreCompilationStep step in provider.GetSteps()) { step.Process(file); } }
public void Proces_WithSiteRootInComponentBody_TransformsTheSiteRoot() { string source = @"<%@ Page Language=""C#"" %> <component:Bold>~</component:Bold>"; SourceFile file = new SourceFile(); file.ViewName= @"\home\index.aspx"; file.ViewSource = source; file.RenderBody = file.ViewSource; RunSteps(file); #region expected string expected = @"using System; using System.IO; using System.Collections; using System.Collections.Generic; using Castle.MonoRail.Framework; using Castle.MonoRail.Views.AspView; namespace CompiledViews { public class : AspViewBase { protected override string ViewName { get { return ""\\home\\index.aspx""; } } protected override string ViewDirectory { get { return ""\\home""; } } public override void Render() { InvokeViewComponent(""Bold"", Bold0_body, null); } internal void Bold0_body () { Output(siteRoot); } } } "; #endregion Assert.Equal(expected, file.ConcreteClass); }
List<SourceFile> GetSourceFiles() { List<SourceFile> files = new List<SourceFile>(); Console.WriteLine(context.ViewRootDir); if (context.ViewRootDir.Exists == false) throw new Exception(string.Format("Could not find views folder [{0}]", context.ViewRootDir)); foreach (string templateExtension in TemplateExtensions) { FileInfo[] templateFilenames = context.ViewRootDir.GetFiles("*" + templateExtension, SearchOption.AllDirectories); foreach (FileInfo fileInfo in templateFilenames) { Console.WriteLine(fileInfo.FullName); string viewName = fileInfo.FullName.Replace(context.ViewRootDir.FullName, ""); SourceFile file = new SourceFile(); file.ViewName = viewName; file.ClassName = AspViewEngine.GetClassName(viewName); file.ViewSource = File.ReadAllText(fileInfo.FullName); file.RenderBody = file.ViewSource; files.Add(file); } } return files; }
protected static string SourceFileToSource(SourceFile file) { return file.ConcreteClass; }
protected string SourceFileToFileName(SourceFile file) { return Path.Combine(context.TemporarySourceFilesDirectory.FullName, file.FileName); }
private static void SaveFile(SourceFile file, string targetDirectory) { string fileName = Path.Combine(targetDirectory, file.FileName); File.WriteAllText(fileName, file.ConcreteClass, Encoding.UTF8); }
public static List<SourceFile> GetSourceFiles(string siteRoot) { List<SourceFile> files = new List<SourceFile>(); string viewsDirectory = Path.Combine(siteRoot, "Views"); string layoutsDirectory = Path.Combine(viewsDirectory, "layouts"); if (!Directory.Exists(viewsDirectory)) throw new Exception(string.Format("Could not find views folder [{0}]", viewsDirectory)); List<string> fileNames = new List<string>(); fileNames.AddRange(Directory.GetFiles(viewsDirectory, "*.aspx", SearchOption.AllDirectories)); fileNames.AddRange(Directory.GetFiles(layoutsDirectory, "*.master", SearchOption.AllDirectories)); foreach (string fileName in fileNames) { SourceFile file = new SourceFile(); file.ViewName = fileName.Replace(viewsDirectory, ""); file.ClassName = AspViewEngine.GetClassName(file.ViewName); file.ViewSource = ReadFile(fileName); file.RenderBody = file.ViewSource; files.Add(file); } return files; }
private static void SaveFile(SourceFile file, string targetDirectory) { string fileName = Path.Combine(targetDirectory, file.FileName); File.WriteAllText(fileName, file.ConcreteClass, Encoding.UTF8); }
protected static string SourceFileToSource(SourceFile file) { return(file.ConcreteClass); }
protected string SourceFileToFileName(SourceFile file) { return(Path.Combine(context.TemporarySourceFilesDirectory.FullName, file.FileName)); }
protected static string SourceFileToFileName(SourceFile file) { return file.FileName; }
protected static string SourceFileToFileName(SourceFile file) { return(file.FileName); }