public virtual void TestDirectoryExists(ITemplateLocation location)
 {
     if (!Directory.Exists(location.Path))
     {
         throw new Exception(string.Format(TemplatesNotFoundMessage, location.Path, location.Name));
     }
 }
 public virtual DirectoryInfo GetDirectory(ITemplateLocation location)
 {
     return(new DirectoryInfo(location.Path));
 }
        public virtual void ProcessTemplates(DirectoryInfo directory, ref Dictionary <string, Func <object, string> > templates, ITemplateLocation location)
        {
            if (location.SearchSubDirectories)
            {
                foreach (var d in directory.GetDirectories())
                {
                    ProcessTemplates(d, ref templates, location);
                }
            }

            foreach (var f in directory.GetFiles().Where(x => x.Extension == YuzuConstants.Configuration.TemplateFileExtension))
            {
                if (location.RegisterAllAsPartials)
                {
                    RegisterPartial(f);
                }
                AddCompiledTemplates(f, ref templates);
            }
        }