use Class::Load ':all';
use String::RewritePrefix;
use Moose::Util qw/find_meta/;
-use List::Util qw/first/;
-use List::MoreUtils qw/uniq/;
+use List::Util qw/first uniq/;
use namespace::clean -except => 'meta';
BEGIN {
# We FORCE the auto action user to explicitly return
# true. We need to do this since there's some auto
# users (Catalyst::Authentication::Credential::HTTP) that
- # actually do a detach instead.
+ # actually do a detach instead.
$c->state(0);
$auto->dispatch( $c );
return 0 unless $c->state;
=head2 Regexp
B<Status: Deprecated.> Use Chained methods or other techniques.
-If you really depend on this, install the standalone
+If you really depend on this, install the standalone
L<Catalyst::DispatchType::Regex> distribution.
A global way to match a give regular expression in the incoming request path.
=head2 LocalRegexp
B<Status: Deprecated.> Use Chained methods or other techniques.
-If you really depend on this, install the standalone
+If you really depend on this, install the standalone
L<Catalyst::DispatchType::Regex> distribution.
Like L</Regex> but scoped under the namespace of the containing controller
-=head2 Chained
+=head2 Chained
=head2 ChainedParent
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
with a fixed number. You may use reference types such as Tuple from L<Types::Standard>
that allows you to fix the number of allowed args. For example Args(Tuple[Int,Int])
would be determined to be two args (or really the same as Args(Int,Int).) You may
-find this useful for creating custom subtypes with complex matching rules that you
+find this useful for creating custom subtypes with complex matching rules that you
wish to reuse over many actions.
See L<Catalyst::RouteMatching> for more.
Please note that this feature does not let you actually assign new functions
to actions via subroutine attributes, but is really more for creating useful
-aliases to existing core and extended attributes, and transforms based on
+aliases to existing core and extended attributes, and transforms based on
existing information (like from configuration). Code for actually doing
something meaningful with the subroutine attributes will be located in the
L<Catalyst::Action> classes (or your subclasses), L<Catalyst::Dispatcher> and