NAME
Class::Workflow::Transition::Simple - A useful class (or base class) for writing transitions.
SYNOPSIS
use Class::Workflow::Transition::Simple;
my $t = Class::Workflow::Transition::Simple->new(
	name           => "feed",
	to_state       => $not_hungry, # Class::Workflow::Transition::State
	body_sets_fields => 1,
	body           => sub {
		my ( $self, $instance, @args ) = @_;
		my $remain = $global_food_warehouse->reduce_quantity;
		return (
			remaining_food => $remain,
		);
	},
);
DESCRIPTION
FIELDS
- name
 - 
This is just a string. It can be used to identify the transition in a parent object like
Class::Workflowif any. - to_state
 - 
This is the state the transition will transfer to. This comes from
Class::Workflow::Transition::Deterministic. - body
 - 
This is an optional sub (it defaults to
<sub { }>) which will be called during apply, after all validation has passed.The body is invoked as a method on the transition.
See
body_sets_fieldsfor the semantics of the return value. - body_sets_fields
 - 
When true, then the body is expected to return a hash of fields to override in the instance. See Class::Workflow::Transition::Deterministic for details.
This field is present to avoid writing code like this:
return ( {}, @return_values );When you don't want to set fields in the instance.
Defaults to false (just write return @return_value, set to true to set fields).
See also
set_fields. - set_fields
 - 
This field is a hash ref that will be used as the list of fields to set on the instance when
body_sets_fieldsis false.If your transition does not need to dynamically set fields you should probably use this.
Defaults to
{}. - validate
 - validators
 - clear_validators
 - add_validators
 - 
These methods come from Class::Workflow::Transition::Validate::Simple.
 
ROLES
This class consumes the following roles: