NAME
Class::Workflow::Transition::Deterministic - A transition which knows which state it leads to.
SYNOPSIS
package
MyTransition;
use
Moose;
with
qw/
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
};
DESCRIPTION
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.
You should consume this role unless you need to determine the target state dynamically (probably not a good idea).
FIELDS
- to_state
-
The target state of the transition. Should do Class::Workflow::State.
METHODS
- apply
-
In scalar context returns the derived instance, in list caller also returns the remaining return value from
apply_body
.
REQUIRED METHODS
- 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 useinner()
.