NAME
Class::Workflow::Transition - A function over an instance.
SYNOPSIS
package MyTransition;
use Moose;
with 'Class::Workflow::Transition';
DESCRIPTION
This is the base role for transition implementations.
every transition object must comply to it's interface, and furthermore must also use the derive_and_accept_instance
method to return a derived instance at the end of the operation.
METHODS
- derive_and_accept_instance $instance, \%attrs, @args
-
This method calls
$instance->derive
with the attrs, and then calls the instanceaccept_instance
on the new instance's state.%attrs
must contain the keystate
, which should do the role Class::Workflow::State.@args are passed (along with the derived instance) to "accept_instance" in Class::Workflow::State.
REQUIRED METHODS
- apply $insatnce, @args
-
This method accepts a Class::Workflow::Instance as it's first argument, and is expected to call
$self->derive_and_accept_instance( $instance, \%attrs, @args )
, with%attrs
containing the state that the instance is being transferred to (it doesn't have to be different than the current state).