use List::MoreUtils qw/uniq/;
use namespace::clean -except => 'meta';
-BEGIN { extends qw/Catalyst::Component MooseX::MethodAttributes::Inheritable/; }
+BEGIN {
+ extends qw/Catalyst::Component/;
+ with qw/MooseX::MethodAttributes::Role::AttrContainer::Inheritable/;
+}
use MooseX::MethodAttributes;
use Catalyst::Exception;
=cut
#I think both of these could be attributes. doesn't really seem like they need
-#to ble class data. i think that attributes +default would work just fine
+#to be class data. i think that attributes +default would work just fine
__PACKAGE__->mk_classdata($_) for qw/_dispatch_steps _action_class _action_role_prefix/;
__PACKAGE__->_dispatch_steps( [qw/_BEGIN _AUTO _ACTION/] );
? $args{attributes}{ActionClass}[0]
: $self->_action_class);
- Class::MOP::load_class($class);
+ load_class($class);
return $class;
}
my @roles = ();
push @roles, 'Catalyst::ActionRole::HTTPMethods'
if $args{attributes}->{Method};
- return @roles;
+
+ push @roles, 'Catalyst::ActionRole::ConsumesContent'
+ if $args{attributes}->{Consumes};
+
+ return @roles;
}
sub _parse_attrs {
=head2 $self->path_prefix($c)
-Returns the default path prefix for :PathPrefix, :Local, :LocalRegex and
+Returns the default path prefix for :PathPrefix, :Local and
relative :Path actions in this component. Defaults to the action_namespace or
can be overridden from the "path" config key.
...
sub myaction1 :Path { ... } # -> /baz
- sub myaction2 :Path('foo') { ... } # -> /baz/bar
+ sub myaction2 :Path('foo') { ... } # -> /baz/foo
sub myaction2 :Path('/bar') { ... } # -> /bar
}
-This is a general toolbox for attaching your action to a give path.
+This is a general toolbox for attaching your action to a given path.
=head2 Regex
=head2 Regexp
-Status: Deprecated. Use Chained methods or other techniques
+B<Status: Deprecated.> Use Chained methods or other techniques.
+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
+L<Catalyst::DispatchType::Regex> distribution.
+
Like L</Regex> but scoped under the namespace of the containing controller
=head2 Chained