pub fn create_directory<P: AsRef<Path>>(
directory: P,
) -> Result<PathBuf, PineappleError>Expand description
Ensures a new directory is created with an incrementing suffix if necessary.
§Arguments
directory- Path to new directory - no overwrites allowed
§Examples
use std::path::Path;
use pineapple_core::ut::path::create_directory;
let base = Path::new("TEST_CREATE_DIRECTORY");
std::fs::create_dir(base).unwrap();
assert!(base.exists());
let increment_0 = Path::new("TEST_CREATE_DIRECTORY_0/");
let increment_1 = Path::new("TEST_CREATE_DIRECTORY_1/");
let increment_2 = Path::new("TEST_CREATE_DIRECTORY_2/");
create_directory(base);
create_directory(base);
create_directory(base);
assert!(increment_0.exists());
assert!(increment_1.exists());
assert!(increment_2.exists());
std::fs::remove_dir(base);
std::fs::remove_dir(increment_0);
std::fs::remove_dir(increment_1);
std::fs::remove_dir(increment_2);