Class::Workflow::State::AutoApply - Automatically apply a transition upon arriving into a state.
package MyState; use Moose; with qw/Class::Workflow::State::AutoApply/; my $state = Mystate->new( auto_transition => $t ); my $i2 = $state->accept_instance( $i, @args ); # automatically calls $t->apply( $i, @args )
This state role is used to automatically apply a transition
If an auto-application may fail validation or something of the sort you can do something like:
around apply_auto_transition => sub { my $next = shift; my ( $self, $instance, @args ) = @_; eval { $self->$next( $instance, @args ) } die $@ unless $@->isa("SoftError"); }
If apply_auto_transition returns a false value then the original instance will be returned automatically, at which point the intermediate state is the current state.
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.