pub struct Rule {
pub keyword: String,
pub name: String,
pub description: Option<String>,
pub background: Option<Background>,
pub scenarios: Vec<Scenario>,
pub tags: Vec<String>,
pub span: Span,
pub position: LineCol,
}
Expand description
A rule, as introduced in Gherkin 6.
Fields
keyword: String
The raw keyword used in the original source.
name: String
The name of the scenario.
description: Option<String>
The description of the rule, if found.
background: Option<Background>
The background of the rule, if found.
scenarios: Vec<Scenario>
The parsed scenarios from the rule directive.
The tags for the rule directive if provided.
span: Span
The (start, end)
offset the rule directive was found in the .feature file.
position: LineCol
The (line, col)
position the rule directive was found in the .feature file.
Implementations
sourceimpl Rule
impl Rule
sourcepub fn builder() -> RuleBuilder<((), (), (), (), (), (), (), ())>
pub fn builder() -> RuleBuilder<((), (), (), (), (), (), (), ())>
Create a builder for building Rule
.
On the builder, call .keyword(...)
, .name(...)
, .description(...)
(optional), .background(...)
(optional), .scenarios(...)
, .tags(...)
(optional), .span(...)
(optional), .position(...)
(optional) to set the values of the fields.
Finally, call .build()
to create the instance of Rule
.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Rule
impl<'de> Deserialize<'de> for Rule
sourcefn 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
sourceimpl<__S> GraphQLObjectType<__S> for Rulewhere
__S: ScalarValue,
impl<__S> GraphQLObjectType<__S> for Rulewhere
__S: ScalarValue,
sourceimpl<__S> GraphQLType<__S> for Rulewhere
__S: ScalarValue,
impl<__S> GraphQLType<__S> for Rulewhere
__S: ScalarValue,
sourceimpl<__S> GraphQLValue<__S> for Rulewhere
__S: ScalarValue,
impl<__S> GraphQLValue<__S> for Rulewhere
__S: ScalarValue,
type Context = ()
type Context = ()
Context type for this
GraphQLValue
. Read moretype TypeInfo = ()
type TypeInfo = ()
Type that may carry additional schema information for this
GraphQLValue
. Read moresourcefn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, __S>,
executor: &Executor<'_, '_, Self::Context, __S>
) -> ExecutionResult<__S>
fn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, __S>,
executor: &Executor<'_, '_, Self::Context, __S>
) -> ExecutionResult<__S>
Resolves the value of a single field on this
GraphQLValue
. Read moresourcefn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
fn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
Returns the concrete
GraphQLType
name for this GraphQLValue
being an interface,
an union or an object. Read moresourcefn resolve_into_type(
&self,
info: &Self::TypeInfo,
type_name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> Result<Value<S>, FieldError<S>>
fn resolve_into_type(
&self,
info: &Self::TypeInfo,
type_name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> Result<Value<S>, FieldError<S>>
Resolves this
GraphQLValue
(being an interface or an union) into a concrete
downstream object type. Read moresourceimpl<__S> GraphQLValueAsync<__S> for Rulewhere
__S: ScalarValue,
__S: Send + Sync,
Self: Sync,
impl<__S> GraphQLValueAsync<__S> for Rulewhere
__S: ScalarValue,
__S: Send + Sync,
Self: Sync,
sourcefn resolve_field_async<'b>(
&'b self,
info: &'b Self::TypeInfo,
field: &'b str,
args: &'b Arguments<'_, __S>,
executor: &'b Executor<'_, '_, Self::Context, __S>
) -> BoxFuture<'b, ExecutionResult<__S>>where
__S: Send + Sync,
fn resolve_field_async<'b>(
&'b self,
info: &'b Self::TypeInfo,
field: &'b str,
args: &'b Arguments<'_, __S>,
executor: &'b Executor<'_, '_, Self::Context, __S>
) -> BoxFuture<'b, ExecutionResult<__S>>where
__S: Send + Sync,
Resolves the value of a single field on this
GraphQLValueAsync
. Read moresourcefn resolve_into_type_async(
&'a self,
info: &'a Self::TypeInfo,
type_name: &str,
selection_set: Option<&'a [Selection<'a, S>]>,
executor: &'a Executor<'a, 'a, Self::Context, S>
) -> Pin<Box<dyn Future<Output = Result<Value<S>, FieldError<S>>> + Send + 'a, Global>>
fn resolve_into_type_async(
&'a self,
info: &'a Self::TypeInfo,
type_name: &str,
selection_set: Option<&'a [Selection<'a, S>]>,
executor: &'a Executor<'a, 'a, Self::Context, S>
) -> Pin<Box<dyn Future<Output = Result<Value<S>, FieldError<S>>> + Send + 'a, Global>>
Resolves this
GraphQLValueAsync
(being an interface or an union) into a
concrete downstream object type. Read moresourceimpl<__S> IsOutputType<__S> for Rulewhere
__S: ScalarValue,
impl<__S> IsOutputType<__S> for Rulewhere
__S: ScalarValue,
impl Eq for Rule
impl StructuralEq for Rule
impl StructuralPartialEq for Rule
Auto Trait Implementations
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnwindSafe for Rule
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.