pub struct ContextPattern<'src>(/* private fields */);Expand description
A ContextPattern is a pattern that matches one or more contexts.
It uses a restricted subset of the syntax used by contexts themselves: a pattern is always in dotted form and can only contain identifiers and wildcards.
Indices are not allowed in patterns themselves, although contexts
that contain indices can be matched against patterns. For example,
github.event.pull_request.assignees.*.name will match the context
github.event.pull_request.assignees[0].name.
Implementations§
Source§impl<'src> ContextPattern<'src>
impl<'src> ContextPattern<'src>
Sourcepub fn new(pattern: &'src str) -> Option<Self>
pub fn new(pattern: &'src str) -> Option<Self>
Creates a new ContextPattern from the given string.
Returns None if the pattern is invalid.
Sourcepub fn parent_of(&self, ctx: &Context<'src>) -> bool
pub fn parent_of(&self, ctx: &Context<'src>) -> bool
Returns true if the given context is a child of the pattern.
This is a loose parent-child relationship; for example, foo is its
own parent, as well as the parent of foo.bar and foo.bar.baz.
Sourcepub fn matches(&self, ctx: &Context<'src>) -> bool
pub fn matches(&self, ctx: &Context<'src>) -> bool
Returns true if the given context exactly matches the pattern.
See ContextPattern for a description of the matching rules.
Trait Implementations§
Auto Trait Implementations§
impl<'src> Freeze for ContextPattern<'src>
impl<'src> RefUnwindSafe for ContextPattern<'src>
impl<'src> Send for ContextPattern<'src>
impl<'src> Sync for ContextPattern<'src>
impl<'src> Unpin for ContextPattern<'src>
impl<'src> UnwindSafe for ContextPattern<'src>
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