package MyApp::Controller::Zoo;
- sub foo : Local Does('Moo') { ... } # Catalyst::ActionRole::
- sub bar : Local Does('~Moo') { ... } # MyApp::ActionRole::Moo
- sub baz : Local Does('+MyApp::ActionRole::Moo') { ... }
+ sub foo : Local Does('Buzz') { ... } # Catalyst::ActionRole::
+ sub bar : Local Does('~Buzz') { ... } # MyApp::ActionRole::Buzz
+ sub baz : Local Does('+MyApp::ActionRole::Buzz') { ... }
=head2 GET
# in MyApp::Controller::Foo
sub bar : Chained CaptureArgs(1) { ... }
- # in MyApp::Controller::Foo::Moo
+ # in MyApp::Controller::Foo::Bar
sub bar : ChainedParent Args(1) { ... }
This builds a chain like C</bar/*/bar/*>.
use Catalyst::Test 'TestApp';
my %roles = (
- foo => 'TestApp::ActionRole::Moo',
- bar => 'TestApp::ActionRole::Moo',
- baz => 'Moo',
+ foo => 'TestApp::ActionRole::Guff',
+ bar => 'TestApp::ActionRole::Guff',
+ baz => 'Guff',
quux => 'Catalyst::ActionRole::Zoo',
);
{
my $resp = request("/actionroles/corge");
ok($resp->is_success);
- is($resp->content, 'TestApp::ActionRole::Moo');
+ is($resp->content, 'TestApp::ActionRole::Guff');
is($resp->header('X-Affe'), 'Tiger');
- is($resp->header('X-Action-After'), 'moo');
+ is($resp->header('X-Action-After'), 'moo');
}
{
my $resp = request("/actionroles/frew");
-package Catalyst::ActionRole::Moo;
+package Catalyst::ActionRole::Guff;
use Moose::Role;
-package Moo;
+package Guff;
use Moose::Role;
-package TestApp::ActionRole::Moo;
+package TestApp::ActionRole::Guff;
use Moose::Role;
},
);
-sub foo : Local Does('Moo') {}
-sub bar : Local Does('~Moo') {}
-sub baz : Local Does('+Moo') {}
+sub foo : Local Does('Guff') {}
+sub bar : Local Does('~Guff') {}
+sub baz : Local Does('+Guff') {}
sub quux : Local Does('Zoo') {}
-sub corge : Local Does('Moo') ActionClass('TestAfter') {
+sub corge : Local Does('Guff') ActionClass('TestAfter') {
my ($self, $ctx) = @_;
$ctx->stash(after_message => 'moo');
}