NAME
Mojo::Stateful - Stateful Base Class
SYNOPSIS
use base 'Mojo::Stateful';
DESCRIPTION
Mojo::Stateful is an abstract base class for state keeping objects.
ATTRIBUTES
Mojo::Stateful implements the following attributes.
state_cb
my $cb = $stateful->state_cb;
$stateful = $stateful->state_cb(sub {...});
Callback that will be invoked whenever the state of this object changes.
METHODS
Mojo::Stateful inherits all methods from Mojo::Base and implements the following new ones.
done
$stateful = $stateful->done;
Shortcut for setting the current state to done
.
error
my $error = $stateful->error;
$stateful = $stateful->error('Parser error: test 123');
Shortcut for setting the current state to error
, also accepts an optional error message.
has_error
my $has_error = $stateful->has_error;
Check if an error occured.
is_done
my $done = $stateful->is_done;
Check if the state machine is done
.
is_finished
my $finished = $stateful->is_finished;
Check if the state machine is finished, this includes the states done
, done_with_leftovers
and error
.
is_state
my $is_state = $stateful->is_state('writing');
my $is_state = $stateful->is_state(qw/error reading writing/);
Check if the state machine is currently in a specific state.
state
my $state = $stateful->state;
$stateful = $stateful->state('writing');
The current state.