Class::Workflow::Transition::Deterministic - A transition which knows which state it leads to.
package MyTransition; use Moose; with qw/ Class::Workflow::Transition Class::Workflow::Deterministic /; sub apply_body { # instead of 'sub apply' # body } # this may be changed to the following form in the future: augment apply => sub { # body };
This role provides a base role for transitions which know their target state.
It overrides apply with a default implementation that will derive an instance for you, setting state automatically, appending the return value from apply_body to that list.
apply
state
apply_body
You should consume this role unless you need to determine the target state dynamically (probably not a good idea).
The target state of the transition. Should do Class::Workflow::State.
In scalar context returns the derived instance, in list caller also returns the remaining return value from apply_body.
The "inner" body of the function.
This method is always evaluated in list context, and is expected to return a hash reference of overridden fields as the first value in that list.
In the future instead of defining apply_body you will do:
augment apply => sub { # body };
And this role's apply will really use inner().
inner()
To install Class::Workflow, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Class::Workflow
CPAN shell
perl -MCPAN -e shell install Class::Workflow
For more information on module installation, please visit the detailed CPAN module installation guide.