Cleaner

Struct Cleaner 

Source
pub struct Cleaner;
Expand description

Handles the cleanup of build directories from development projects.

The Cleaner struct provides methods for removing build directories (such as target/ for Rust projects and node_modules/ for Node.js projects) with parallel processing, progress reporting, and comprehensive error handling.

Implementations§

Source§

impl Cleaner

Source

pub fn new() -> Self

Create a new cleaner instance.

§Returns

A new Cleaner instance ready to perform cleanup operations.

§Examples
let cleaner = Cleaner::new();
Source

pub fn clean_projects(projects: Projects)

Clean build directories from a collection of projects.

This method performs the main cleanup operation by:

  1. Setting up a progress bar for user feedback
  2. Processing projects in parallel for efficiency
  3. Collecting and reporting any errors that occur
  4. Providing detailed statistics about the cleanup results
§Arguments
  • projects - A collection of projects to clean
§Panics

This method may panic if the progress bar template string is invalid, though this should not occur under normal circumstances as the template is hardcoded and valid.

§Output

This method prints progress information and final statistics to stdout, including

  • Real-time progress during cleanup
  • Number of successfully cleaned projects
  • Number of failed projects (if any)
  • Total disk space freed
  • Difference between estimated and actual space freed
§Examples
let projects = Projects::from(vec![/* project instances */]);
Cleaner::clean_projects(projects);
§Performance

This method uses parallel processing to clean multiple projects simultaneously, which can significantly reduce cleanup time for large numbers of projects.

§Error Handling

Individual project cleanup failures do not stop the overall process. All errors are collected and reported at the end, allowing the cleanup to proceed for projects that can be successfully processed.

Trait Implementations§

Source§

impl Default for Cleaner

Source§

fn default() -> Self

Create a default cleaner instance.

This implementation allows Cleaner::default() to be used as an alternative to Cleaner::new() for creating cleaner instances.

§Returns

A new Cleaner instance with default settings.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.