X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FDispatcher.pm;h=5df4526e51baf131890f1e52ac37320f250a82bd;hp=214d0313c4f5803f568c176b5817dff8049cee1a;hb=17b3d80076b6acb25d56ed83b0ed7134ed4fb343;hpb=7d665b582162163415de0d7579403218cf4e66a6 diff --git a/lib/Catalyst/Dispatcher.pm b/lib/Catalyst/Dispatcher.pm index 214d031..5df4526 100644 --- a/lib/Catalyst/Dispatcher.pm +++ b/lib/Catalyst/Dispatcher.pm @@ -643,9 +643,8 @@ sub _load_dispatch_types { # Preload action types for my $type (@types) { - my $class = - ( $type =~ /^\+(.*)$/ ) ? $1 : "Catalyst::DispatchType::${type}"; - + my $class = Catalyst::Utils::resolve_namespace('Catalyst::DispatchType', $type); + eval { Class::MOP::load_class($class) }; Catalyst::Exception->throw( message => qq/Couldn't load "$class"/ ) if $@; @@ -668,9 +667,7 @@ of course it's being used.) sub dispatch_type { my ($self, $name) = @_; - unless ($name =~ s/^\+//) { - $name = "Catalyst::DispatchType::" . $name; - } + $name = Catalyst::Utils::resolve_namespace('Catalyst::DispatchType', $name); for (@{ $self->_dispatch_types }) { return $_ if ref($_) eq $name;