pub struct Scrubber { /* private fields */ }Implementations§
Source§impl Scrubber
impl Scrubber
pub fn empty() -> Self
Sourcepub fn with_builtins() -> Result<Self>
pub fn with_builtins() -> Result<Self>
Built-in regex patterns only; no entropy, no path rules.
Sourcepub fn from_config(config: &ScrubConfig) -> Result<Self>
pub fn from_config(config: &ScrubConfig) -> Result<Self>
Build a scrubber from a parsed ScrubConfig.
Sourcepub fn with_workspace(workspace_root: &Path) -> Result<Self>
pub fn with_workspace(workspace_root: &Path) -> Result<Self>
Load .cargo-context/scrub.yaml from workspace_root if present and
return a fully-configured scrubber. Falls back to built-ins on absence
or parse failure.
Sourcepub fn extend(&mut self, extra: Vec<Pattern>) -> Result<()>
pub fn extend(&mut self, extra: Vec<Pattern>) -> Result<()>
Extend the scrubber with extra user-defined patterns (e.g. loaded from a non-default config path).
Sourcepub fn scrub(&self, input: &str) -> String
pub fn scrub(&self, input: &str) -> String
Redact secrets in input. Returns only the scrubbed string.
Sourcepub fn scrub_with_report(&self, input: &str) -> (String, ScrubReport)
pub fn scrub_with_report(&self, input: &str) -> (String, ScrubReport)
Redact and also produce a ScrubReport listing every redaction.
Sourcepub fn scrub_file(&self, path: &Path, content: &str) -> (String, ScrubReport)
pub fn scrub_file(&self, path: &Path, content: &str) -> (String, ScrubReport)
Scrub a file’s content, honoring path-based rules (whole-file
redaction for redact_whole matches; bypass for exclude matches).
Sourcepub fn is_path_redacted(&self, path: &Path) -> bool
pub fn is_path_redacted(&self, path: &Path) -> bool
Return true if this scrubber’s path rules would redact path whole.
Sourcepub fn is_path_excluded(&self, path: &Path) -> bool
pub fn is_path_excluded(&self, path: &Path) -> bool
Return true if path is on the exclude list (bypasses all scrubbing).
Sourcepub fn report_config(&self) -> &ReportConfig
pub fn report_config(&self) -> &ReportConfig
Report config (typically loaded from .cargo-context/scrub.yaml).
Sourcepub fn effective_builtin_count(&self) -> usize
pub fn effective_builtin_count(&self) -> usize
Number of built-in patterns that survived disable_builtins and
BuiltinsMode::Replace filters. Used by cargo context scrub --check.
Sourcepub fn effective_custom_count(&self) -> usize
pub fn effective_custom_count(&self) -> usize
Number of user-defined patterns[] entries from the config.
Sourcepub fn log_redactions(&self, report: &ScrubReport) -> Result<()>
pub fn log_redactions(&self, report: &ScrubReport) -> Result<()>
Append each redaction to report.log_file as JSON Lines, if configured.
Values are never written — only rule_id, category, severity, and
the SHA-256 fingerprint (hash4). Timestamps are Unix epoch seconds.
When report.max_entries is set, the log is truncated after writes to
retain only the most recent N entries.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Scrubber
impl RefUnwindSafe for Scrubber
impl Send for Scrubber
impl Sync for Scrubber
impl Unpin for Scrubber
impl UnsafeUnpin for Scrubber
impl UnwindSafe for Scrubber
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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