Class::Workflow::Transition - A function over an instance.


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->derive with the attrs, and then calls the instance accept_instance on the new instance's state.

%attrs must contain the key state, which should do the role the Class::Workflow::State manpage.

@args are passed (along with the derived instance) to accept_instance in the Class::Workflow::State manpage.


apply $insatnce, @args
This method accepts a the Class::Workflow::Instance manpage 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).

 Class::Workflow::Transition - A function over an instance.