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 const fn new(pattern: &'src str) -> Self
pub const fn new(pattern: &'src str) -> Self
Creates a new ContextPattern from the given string.
Panics if the pattern is invalid.
Sourcepub const fn try_new(pattern: &'src str) -> Option<Self>
pub const fn try_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