From: André Walker Date: Wed, 6 Jul 2011 02:53:52 +0000 (-0300) Subject: more sense out of regex fallback X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=83db87df7ee52592ca190f353529778900e75f18 more sense out of regex fallback --- diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index fc2b117..369b624 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -569,11 +569,13 @@ sub controller { return if $c->config->{disable_component_resolution_regex_fallback} && !ref $name; + my $query = ref $name ? $name : qr{$name}; + $query =~ s/^${appclass}::(C|Controller):://; my @comps = $container->get_service_list; my @result; for (@comps) { push @result, $container->resolve( service => $_, parameters => { context => [ $c, @args ] } ) - if m/$name/; + if m/$query/; } if (@result) { @@ -626,11 +628,13 @@ sub model { return if $c->config->{disable_component_resolution_regex_fallback} && !ref $name; + my $query = ref $name ? $name : qr{$name}; + $query =~ s/^${appclass}::(M|Model):://; my @comps = $container->get_service_list; my @result; for (@comps) { push @result, $container->resolve( service => $_, parameters => { context => [ $c, @args ] } ) - if m/$name/; + if m/$query/; } if (@result) { @@ -709,11 +713,13 @@ sub view { return if $c->config->{disable_component_resolution_regex_fallback} && !ref $name; + my $query = ref $name ? $name : qr{$name}; + $query =~ s/^${appclass}::(V|View):://; my @comps = $container->get_service_list; my @result; for (@comps) { push @result, $container->resolve( service => $_, parameters => { context => [ $c, @args ] } ) - if m/$name/; + if m/$query/; } if (@result) {