Class::Workflow::Transition - A function over an instance.
package MyTransition; use Moose; with 'Class::Workflow::Transition';
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.
- derive_and_accept_instance $instance, \%attrs, @args
This method calls
$instance->derivewith the attrs, and then calls the instance
accept_instanceon the new instance's state.
%attrsmust contain the key
state, which should do the role Class::Workflow::State.
@args are passed (along with the derived instance) to "accept_instance" in Class::Workflow::State.
- 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
%attrscontaining the state that the instance is being transferred to (it doesn't have to be different than the current state).