pub struct FileDeclutter;Expand description
Entry point for creating decluttering iterators or computing decluttered paths.
Implementations§
Source§impl FileDeclutter
impl FileDeclutter
Sourcepub fn new_from_iter(
iter: impl Iterator<Item = impl Into<PathBuf>>,
) -> FileDeclutterIterator<impl Iterator<Item = PathBuf>> ⓘ
pub fn new_from_iter( iter: impl Iterator<Item = impl Into<PathBuf>>, ) -> FileDeclutterIterator<impl Iterator<Item = PathBuf>> ⓘ
Creates a FileDeclutterIterator from an arbitrary iterator over file paths.
§Examples
let files = vec!["13.txt", "23.txt"];
let files_decluttered = file_declutter::FileDeclutter::new_from_iter(files.into_iter())
.levels(1)
.collect::<Vec<_>>();
let files_expected = vec![
(PathBuf::from("13.txt"), PathBuf::from("1/13.txt")),
(PathBuf::from("23.txt"), PathBuf::from("2/23.txt")),
];
assert_eq!(files_expected, files_decluttered);Sourcepub fn new_from_path(
base: impl Into<PathBuf>,
) -> FileDeclutterIterator<impl Iterator<Item = PathBuf>> ⓘ
pub fn new_from_path( base: impl Into<PathBuf>, ) -> FileDeclutterIterator<impl Iterator<Item = PathBuf>> ⓘ
Creates a FileDeclutterIterator by recursively collecting all files under a given
directory and setting this directory as the base.
§Examples
let files_decluttered = file_declutter::FileDeclutter::new_from_path("/tmp/path")
.levels(1)
.collect::<Vec<_>>();
// If the specified directory contains the files 13.txt and 23.txt, the following tuples
// will be produced:
let files_expected = vec![
(PathBuf::from("13.txt"), PathBuf::from("1/13.txt")),
(PathBuf::from("23.txt"), PathBuf::from("2/23.txt")),
];
assert_eq!(files_expected, files_decluttered);Sourcepub fn oneshot(file: impl Into<PathBuf>, levels: usize) -> PathBuf
pub fn oneshot(file: impl Into<PathBuf>, levels: usize) -> PathBuf
Computes the decluttered path of a single file without moving it.
§Arguments
file: Path to the input file.levels: Number of subdirectory levels to use.
§Returns
A PathBuf representing the target decluttered location.
§Examples
let file = "123456.txt";
let file_decluttered = file_declutter::FileDeclutter::oneshot(file, 3);
let file_expected = PathBuf::from("1/2/3/123456.txt");
assert_eq!(file_expected, file_decluttered);Auto Trait Implementations§
impl Freeze for FileDeclutter
impl RefUnwindSafe for FileDeclutter
impl Send for FileDeclutter
impl Sync for FileDeclutter
impl Unpin for FileDeclutter
impl UnsafeUnpin for FileDeclutter
impl UnwindSafe for FileDeclutter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more