X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FDispatchType%2FChained.pm;h=f9e49fa1f6ce18e3ddf972621c34c3d0acf7acf3;hp=f413d9d2a5adf13ff9ece12f3d3e48d004922387;hb=90102012feccf317d3ed075ea8dc04c2cee95fb5;hpb=b684787167ee18eb7e81245f55e0b48a72a8a1b8 diff --git a/lib/Catalyst/DispatchType/Chained.pm b/lib/Catalyst/DispatchType/Chained.pm index f413d9d..f9e49fa 100644 --- a/lib/Catalyst/DispatchType/Chained.pm +++ b/lib/Catalyst/DispatchType/Chained.pm @@ -130,7 +130,12 @@ sub list { $name = "${extra} ${name}"; } if (defined(my $cap = $p->list_extra_info->{CaptureArgs})) { - $name .= ' ('.$cap.')'; + if($p->has_captures_constraints) { + my $tc = join ',', @{$p->captures_constraints}; + $name .= " ($tc)"; + } else { + $name .= " ($cap)"; + } } if (defined(my $ct = $p->list_extra_info->{Consumes})) { $name .= ' :'.$ct; @@ -144,6 +149,15 @@ sub list { } push(@rows, [ '', $name ]); } + + if(defined $endpoint->number_of_args) { + if($endpoint->has_args_constraints) { + my $tc = join ',', @{$endpoint->args_constraints}; + $endpoint .= " ($tc)"; + } else { + $endpoint .= " (${\$endpoint->number_of_args})"; + } + } push(@rows, [ '', (@rows ? "=> " : '').($extra ? "$extra " : ''). ($scheme ? "$scheme: ":'')."/${endpoint}". ($consumes ? " :$consumes":"" ) ]); my @display_parts = map { $_ =~s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg; decode_utf8 $_ } @parts; $rows[0][0] = join('/', '', @display_parts) || '/';