use Scalar::Util qw/weaken/;
use attributes;
-# For PAR
-require Catalyst::Helper;
-require Catalyst::PAR;
-require Catalyst::Build;
-require Catalyst::Test;
-
-require Catalyst::Engine::HTTP;
-require Catalyst::Engine::CGI;
-
-require Catalyst::Controller;
-require Catalyst::Model;
-require Catalyst::View;
-
__PACKAGE__->mk_accessors(
qw/counter request response state action stack namespace/
);
require Module::Pluggable::Fast;
# Helper script generation
-our $CATALYST_SCRIPT_GEN = 18;
+our $CATALYST_SCRIPT_GEN = 21;
__PACKAGE__->mk_classdata($_)
for qw/components arguments dispatcher engine log dispatcher_class
__PACKAGE__->request_class('Catalyst::Request');
__PACKAGE__->response_class('Catalyst::Response');
-our $VERSION = '5.57';
+our $VERSION = '5.59';
sub import {
my ( $class, @arguments ) = @_;
# join args with '/', or a blank string
my $args = ( scalar @args ? '/' . join( '/', @args ) : '' );
- return URI->new_abs( URI->new_abs( "$path$args", "$basepath$namespace" ),
- $base )->canonical;
+ $args =~ s/^\/// unless $path;
+ my $res =
+ URI->new_abs( URI->new_abs( "$path$args", "$basepath$namespace" ), $base )
+ ->canonical;
+ $res;
}
=head2 $c->welcome_message
=head1 SEE ALSO
+=head2 L<Task::Catalyst> - All you need to start with Catalyst
+
=head2 L<Catalyst::Manual> - The Catalyst Manual
=head2 L<Catalyst::Component>, L<Catalyst::Base> - Base classes for components