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 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