/// <summary> /// Initializes a new instance of the <see cref="ChangeScript" /> class. /// </summary> /// <param name="fileInfo">The embbeded file.</param> /// <param name="scriptNumber">The script number.</param> /// <param name="encoding">The encoding.</param> public ChangeScript(EmbeddedFileInfo fileInfo, int scriptNumber, Encoding encoding) : base(fileInfo.Folder, scriptNumber) { this.EmbeddedFileInfo = fileInfo; this.ScriptName = fileInfo.FileName; this.encoding = encoding; }
public void GetFileInfo_ReturnsFileInfo_ForEmbeddedFile() { using (var provider = new InMemoryFileProvider()) { var embeddedFileInfo = new EmbeddedFileInfo(GetAssemblyFromType(this.GetType()), $"Dazinator.AspNet.Extensions.FileProviders.Tests.Resources.myresource.txt", "myfile.txt"); provider.Directory.AddFile("/some/folder", embeddedFileInfo); var info = provider.GetFileInfo("/some/folder/myfile.txt"); using (var stream = info.CreateReadStream()) { Assert.NotNull(stream); Assert.True(stream.Length > 0); } } }
private IEnumerable <ChangeScript> GetChangeScriptsFromAssembly(Assembly assembly) { try { this.infoTextWriter.WriteLine("Reading change scripts from assembly '" + assembly.FullName + "'..."); } catch (IOException) { // ignore } var scripts = new List <ChangeScript>(); var resourceScripts = assembly.GetManifestResourceNames().Where(resourceName => resourceName.EndsWith(".sql")); if (resourceNameFilter != null) { resourceScripts = resourceScripts.Where(resourceName => resourceNameFilter.Invoke(resourceName)); } foreach (var resourceScript in resourceScripts) { string folder = ExtractFolderNameWithUnderlines(resourceScript); string fileName = ExtractFileName(resourceScript, folder); try { folder = folder.Replace("._", "."); int scriptNumber = filenameParser.ExtractScriptNumberFromFilename(fileName); var embeddedFileInfo = new EmbeddedFileInfo { Assembly = assembly, FileName = fileName, Folder = folder, ResourceName = resourceScript }; scripts.Add(new ChangeScript(embeddedFileInfo, scriptNumber, encoding)); } catch (UnrecognisedFilenameException) { // ignore } } return(scripts); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EmbeddedFileInfo obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }