Class::Workflow::State::Simple - A useful class (or base class) for writing


Class-Workflow documentation Contained in the Class-Workflow distribution.

Index


Code Index:

NAME

Top

Class::Workflow::State::Simple - A useful class (or base class) for writing states.

SYNOPSIS

Top

	use Class::Workflow::State::Simple;

	my $state = Class::Workflow::State::Simple->new(
		name => "foo",
		transitions => [ $tn ], # objects
	);

DESCRIPTION

Top

FIELDS

Top

name

A string that can be used to identify the state to a factory object like Class::Workflow.

auto_transition

see Class::Workflow::State::AutoApply.

ROLES

Top

This class consumes the following roles:


Class-Workflow documentation Contained in the Class-Workflow distribution.

#!/usr/bin/perl

package Class::Workflow::State::Simple;
use Moose;

use overload '""' => "stringify", fallback => 1;

# FIXME with Class::Workflow::State should be implied
with qw/
	Class::Workflow::State
	Class::Workflow::State::TransitionHash
	Class::Workflow::State::AcceptHooks
	Class::Workflow::State::AutoApply
/;

has name => (
	isa => "Str",
	is  => "rw",
);

sub stringify {
	my $self = shift;
	if ( defined( my $name = $self->name ) ) {
		return $name;
	}
	return overload::StrVal($_[0]);
}

has misc => (
	isa => "HashRef",
	is  => "rw",
	default    => sub { {} },
	auto_deref => 1,
);

__PACKAGE__;

__END__