pub struct RegexDep {
pub path: XvcPath,
pub regex: String,
pub lines_digest: Option<ContentDigest>,
pub xvc_metadata: Option<XvcMetadata>,
}
Expand description
When a step depends to a regex search in a text file
Fields§
§path: XvcPath
Path of the file in the workspace
regex: String
The regex to search in the file
lines_digest: Option<ContentDigest>
The digest of the lines that match the regex
xvc_metadata: Option<XvcMetadata>
The metadata of the file
Implementations§
Source§impl RegexDep
impl RegexDep
Sourcepub fn new(path: XvcPath, regex: String) -> Self
pub fn new(path: XvcPath, regex: String) -> Self
Create a new RegexDep with empty metadata and digest
Sourcepub fn update_metadata(self, xvc_metadata: Option<XvcMetadata>) -> Self
pub fn update_metadata(self, xvc_metadata: Option<XvcMetadata>) -> Self
Update the metadata of the file
Sourcepub fn update_digest(self, xvc_root: &XvcRoot, algorithm: HashAlgorithm) -> Self
pub fn update_digest(self, xvc_root: &XvcRoot, algorithm: HashAlgorithm) -> Self
Update the digest of the file by reading the file and collecting all lines that match the regex
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RegexDep
impl<'de> Deserialize<'de> for RegexDep
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Diffable for RegexDep
impl Diffable for RegexDep
Source§fn diff_superficial(
record: &Self::Item,
actual: &Self::Item,
) -> Diff<Self::Item>
fn diff_superficial( record: &Self::Item, actual: &Self::Item, ) -> Diff<Self::Item>
⚠️ Update the metadata with actual.update_metadata before calling this function
Source§fn diff_thorough(record: &Self::Item, actual: &Self::Item) -> Diff<Self::Item>
fn diff_thorough(record: &Self::Item, actual: &Self::Item) -> Diff<Self::Item>
⚠️ Update the metadata and lines with actual.update_digest before calling this function
Source§fn diff(
record: Option<&Self::Item>,
actual: Option<&Self::Item>,
) -> Diff<Self::Item>
fn diff( record: Option<&Self::Item>, actual: Option<&Self::Item>, ) -> Diff<Self::Item>
⚠️ Usually you must update actual’s metadata and timestamp before calling this.
Use diff_superficial and diff_thorough for shortcut comparisons. (e.g. when metadata is not changed, no need to
compare the content. ) Read more
Source§impl From<RegexDep> for XvcDependency
impl From<RegexDep> for XvcDependency
Source§impl Ord for RegexDep
impl Ord for RegexDep
Source§impl PartialOrd for RegexDep
impl PartialOrd for RegexDep
Source§impl Storable for RegexDep
impl Storable for RegexDep
Source§fn type_description() -> String
fn type_description() -> String
A string representation for the type. Read more
impl Eq for RegexDep
impl StructuralPartialEq for RegexDep
Auto Trait Implementations§
impl Freeze for RegexDep
impl RefUnwindSafe for RegexDep
impl Send for RegexDep
impl Sync for RegexDep
impl Unpin for RegexDep
impl UnwindSafe for RegexDep
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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 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>
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