bye bye Class::C3. for good.
[catagits/Catalyst-Runtime.git] / lib / Catalyst / ActionChain.pm
index 2fd63d9..d9fb623 100644 (file)
@@ -1,8 +1,11 @@
 package Catalyst::ActionChain;
 
-use strict;
-use base qw/Catalyst::Action/;
+use Moose;
+extends qw(Catalyst::Action);
 
+has chain => (is => 'rw');
+
+no Moose;
 
 =head1 NAME
 
@@ -20,22 +23,6 @@ the actions in the chain in order.
 
 =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||[]};
@@ -58,6 +45,7 @@ sub from_chain {
     return $self->new({ %$final, chain => $actions });
 }
 
+__PACKAGE__->meta->make_immutable;
 1;
 
 __END__
@@ -79,7 +67,9 @@ actions in order.
 Takes a list of Catalyst::Action objects and constructs and returns a
 Catalyst::ActionChain object representing a chain of these actions
 
-=cut
+=head2 meta
+
+Provided by Moose
 
 =head1 AUTHOR