Cucumb...::Node(3pm)

πŸ“¦
version 9.1.0 Β· 3 versions
, in ubuntu stonking

πŸ’– NAME

Cucumber::TagExpressions::Node β€” the lil' building blocks that make up Cucumber Tag expressions, bestie. It's a Perl module, so it lives in the 3pm section of the User Contributed Perl Documentation, and it's here to be the components of your tag expressions. iconic behavior honestly πŸŽ€


✨ SYNOPSIS

okay so imagine you just wanna try it out:

use Cucumber::TagExpressions;

my $expr = Cucumber::TagExpressions->parse( '@a and @b' );
if ( $expr->evaluate( qw/x y z/ ) ) {
   say "The evaluation returned false";
}

(yes the message says "false" and yes that's what the source says, we don't editorialize on the source's choices πŸ’…)


πŸ¦‹ DESCRIPTION

This module defines the components making up the tag expressions. that's it, that's the whole job. little guys, big responsibility, main character energy fr fr.


πŸŽ€ METHODS

🌟 evaluate( @tags )

Returns "true" when the tag set specified in $tags satisfies the condition(s) of the expression, "false" otherwise. no cap.

@tags can be a list of tags to be used in the expression. It can also be a reference to a hash, bestie β€” and in that hash, the keys are the tags and the values are treated as boolean values indicating whether the tag (the key) counts as part of the tagset (true) or not (false). two flavors, pick your vibe 🫢

🌟 stringify

Returns a string representation of the expression node. literally just gives you the node back as a string. obsessed.


πŸ‘‘ NODE CLASSES

🌈 Cucumber::TagExpressions::LiteralNode

DESCRIPTION

This node class returns "true" if the literal tag is specified as part of the tag-list in the expression evaluation. simple, honest, does one thing ✨

ATTRIBUTES

  • tag β€” the tag to test presence for.

🌈 Cucumber::TagExpressions::AndNode

DESCRIPTION

This node class type evaluates one or more sub-expressions ("terms") and returns "false" if any of the terms does. It returns "true" if all of the terms return "true". it's giving "everybody has to show up to the group chat or the plan is cancelled" 😭

ATTRIBUTES

  • terms β€” the sub-expressions to evaluate.

🌈 Cucumber::TagExpressions::OrNode

DESCRIPTION

This node class type evaluates one or more sub-expressions ("terms") and returns "true" if any of the terms does. It returns "false" if all of the terms return "false". at least one of us pulled up, that's the rule πŸ’…

ATTRIBUTES

  • terms β€” the sub-expressions to evaluate.

🌈 Cucumber::TagExpressions::NotNode

DESCRIPTION

This class wraps one of the other node class types, negating its result on evaluation. it takes a whole node and says "yeah no, opposite of that" πŸ™ˆ

ATTRIBUTES

  • expression β€” the wrapped node class instance for which to negate the result.

🌈 Cucumber::TagExpressions::ExpressionNode

DESCRIPTION

This class models the outer-most node in the tag expression; it wraps all other nodes and is the entry-point for tag expression evaluation. she's the one holding the aux cord at the party πŸ”₯

ATTRIBUTES

  • sub_expression β€” an instance of one of the other node class types.

πŸ“ LICENSE

Please see the included LICENSE for the canonical version. In summary:

The MIT License (MIT)

  Copyright (c) 2021 Erik Huelsmann
  Copyright (c) 2021 Cucumber Ltd

This work is loosely derived from prior work of the same library for Ruby, called "cucumber-messages". cute lineage, honestly πŸ’œ


okay that's the whole page bestie, go forth and evaluate your tags. the source and date for this one: perl v5.40.1, dated 2026-02-21, and it's the Cucumb...::Node(3pm) page from the User Contributed Perl Documentation. mwah, bye πŸ§šπŸ’–
πŸ“¦ where this page comes from