package Catalyst::ActionChain;
-use strict;
-use base qw/Catalyst::Action/;
+use Moose;
+extends qw(Catalyst::Action);
+has chain => (is => 'rw');
+
+no Moose;
=head1 NAME
=cut
-__PACKAGE__->mk_accessors(qw/chain/);
-
-use overload (
-
- # Stringify to reverse for debug output etc.
- q{""} => sub { shift->{reverse} },
-
- # Codulate to execute to invoke the encapsulated action coderef
- '&{}' => sub { my $self = shift; sub { $self->execute(@_); }; },
-
- # Make general $stuff still work
- fallback => 1,
-
-);
-
-
sub dispatch {
my ( $self, $c ) = @_;
my @captures = @{$c->req->captures||[]};
return $self->new({ %$final, chain => $actions });
}
+__PACKAGE__->meta->make_immutable;
1;
__END__
Takes a list of Catalyst::Action objects and constructs and returns a
Catalyst::ActionChain object representing a chain of these actions
+=head2 meta
+
+Provided by Moose
+
=head1 AUTHORS
Catalyst Contributors, see Catalyst.pm