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§
source§impl 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§
source§impl<'de> Deserialize<'de> for Rule
impl<'de> Deserialize<'de> for Rule
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<__S> GraphQLObjectType<__S> for Rulewhere
__S: ScalarValue,
impl<__S> GraphQLObjectType<__S> for Rulewhere __S: ScalarValue,
source§impl<__S> GraphQLType<__S> for Rulewhere
__S: ScalarValue,
impl<__S> GraphQLType<__S> for Rulewhere __S: ScalarValue,
source§impl<__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 more§type TypeInfo = ()
type TypeInfo = ()
Type that may carry additional schema information for this
GraphQLValue
. Read moresource§fn 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 moresource§fn 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 moresource§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>>
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 moresource§impl<__S> GraphQLValueAsync<__S> for Rulewhere
__S: ScalarValue + Send + Sync,
Self: Sync,
impl<__S> GraphQLValueAsync<__S> for Rulewhere __S: ScalarValue + Send + Sync, Self: Sync,
source§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,
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 moresource§fn resolve_into_type_async<'a>(
&'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>( &'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 moresource§impl<__S> IsOutputType<__S> for Rulewhere
__S: ScalarValue,
impl<__S> IsOutputType<__S> for Rulewhere __S: ScalarValue,
source§impl PartialEq<Rule> for Rule
impl PartialEq<Rule> for Rule
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§
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<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,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.