package Catalyst::DispatchType::Default;

use strict;
use base qw/Catalyst::DispatchType/;

sub prepare_action {
    my ( $self, $c, $path ) = @_;
    return if $path =~ m!/!;    # Not at root yet, wait for it ...
    my $result = @{ $c->get_action( 'default', $c->req->path, 1 ) || [] }[-1];

    # Find default on namespace or super
    if ($result) {
        $c->action( $result->[0] );
        $c->namespace( $c->req->path );
        $c->req->action('default');
        $c->req->match('');
        return 1;
    }
    return 0;
}

1;
