public static void DeleteFileIfEmpty(this MiruPath miruPath) { if (miruPath.Exists2() && miruPath.FileInfo().Length == 0) { miruPath.DeleteIfExists(); } }
public MiruSolution(string rootDir, string appName = null) { CurrentDir = MiruPath.CurrentPath; RootDir = rootDir; Name = appName ?? Path.GetFileName(RootDir); SrcDir = A.Path(RootDir, "src"); ConfigDir = A.Path(RootDir, "config"); TestsDir = A.Path(RootDir, "tests"); App = Name; AppDir = A.Path(SrcDir, App); AppTests = $"{Name}.Tests"; AppTestsDir = A.Path(TestsDir, AppTests); AppPageTests = $"{Name}.PageTests";; AppPageTestsDir = A.Path(TestsDir, AppPageTests); DatabaseDir = A.Path(AppDir, "Database"); MigrationsDir = A.Path(DatabaseDir, "Migrations"); FabricatorsDir = A.Path(DatabaseDir, "Fabricators"); FeaturesDir = A.Path(AppDir, "Features"); DomainDir = A.Path(AppDir, "Domain"); StorageDir = RootDir / "storage"; }
public MiruSolution(string rootDir, string appName = null) { CurrentDir = MiruPath.CurrentPath; RootDir = rootDir; Name = appName ?? Path.GetFileName(RootDir); ShortName = Name.Split(".").Last(); SrcDir = RootDir / "src"; TestsDir = RootDir / "tests"; App = Name; AppDir = SrcDir / App; AppTests = $"{Name}.Tests"; AppTestsDir = TestsDir / AppTests; AppPageTests = $"{Name}.PageTests";; AppPageTestsDir = TestsDir / AppPageTests; DatabaseDir = AppDir / "Database"; MigrationsDir = DatabaseDir / "Migrations"; FabricatorsDir = DatabaseDir / "Fabricators"; FeaturesDir = AppDir / "Features"; DomainDir = AppDir / "Domain"; StorageDir = RootDir / "storage"; }
public static Maker For(MiruPath currentDirectory, string solutionName) { if (Path.GetFileName(currentDirectory).Equals(solutionName) == false) { currentDirectory = Path.Combine(currentDirectory, solutionName); } return(new Maker(new MiruSolution(currentDirectory))); }
public static bool DirContains(this MiruPath miruPath, string searchPattern) => new DirectoryInfo(miruPath).GetFiles(searchPattern).Any();
public static FileInfo FileInfo(this MiruPath miruPath) => new FileInfo(miruPath);
public static void EnsureDirExist(this MiruPath miruPath) => Directories.CreateIfNotExists(miruPath);
public static bool DontExistOrEmpty(this MiruPath miruPath) => miruPath.Exists2() == false || miruPath.FileInfo().Length == 0;
public static bool Exists(this MiruPath path) => Directory.Exists(path);
public static MiruPath Dir(this MiruPath miruPath) => Path.GetDirectoryName(miruPath);
public static void DeleteIfExists(this MiruPath miruPath) => Core.Files.DeleteIfExists(miruPath.ToString());
public static string Relative(this MiruPath current, string path) => Path.GetRelativePath(current, path);
public static bool FileDoesNotExist(this MiruPath path) => File.Exists(path) == false;
public static Maker For(MiruPath currentDirectory) { return(new Maker(new MiruSolution(currentDirectory))); }
public static IEnumerable <FileInfo> Files(this MiruPath miruPath, string searchPattern) => new DirectoryInfo(miruPath).GetFiles(searchPattern);
public static bool IsDirectory(this MiruPath miruPath) => Directory.Exists(miruPath);
public static void DeleteDir(this MiruPath miruPath) => Directories.DeleteIfExists(miruPath);
public static bool FileExists(this MiruPath path) => File.Exists(path);
public static bool Exists2(this MiruPath miruPath) => Directory.Exists(miruPath) || File.Exists(miruPath);