my $params =
( scalar @args && ref $args[$#args] eq 'HASH' ? pop @args : {} );
+ carp "uri_for called with undef argument" if grep { ! defined $_ } @args;
s/([^$URI::uric])/$URI::Escape::escapes{$1}/go for @args;
unshift(@args, $path);
if ($c->debug) {
my $elapsed = sprintf '%f', tv_interval($c->stats->getNodeValue);
- my $av = sprintf '%.3f', ( $elapsed == 0 ? '??' : ( 1 / $elapsed ) );
+ my $av = $elapsed == 0 ? '??' : sprintf '%.3f', 1 / $elapsed;
my $t = Text::SimpleTable->new( [ 62, 'Action' ], [ 9, 'Time' ] );
$c->stats->traverse(
search_path => [ map { s/^(?=::)/$class/; $_; } @paths ],
%$config
);
+
+ my @comps = sort { length $a <=> length $b } $locator->plugins;
+ my %comps = map { $_ => 1 } @comps;
- for my $component ( sort { length $a <=> length $b } $locator->plugins ) {
+ for my $component ( @comps ) {
Catalyst::Utils::ensure_class_loaded( $component, { ignore_loaded => 1 } );
my $module = $class->setup_component( $component );
$component => $module,
map {
$_ => $class->setup_component( $_ )
+ } grep {
+ not exists $comps{$_}
} Devel::InnerPackage::list_packages( $component )
);
my ( $proto, $plugin, $instant ) = @_;
my $class = ref $proto || $proto;
- unless (Class::Inspector->loaded($plugin)) {
- require Class::Inspector->filename($plugin);
- }
+ Catalyst::Utils::ensure_class_loaded( $plugin, { ignore_loaded => 1 } );
$proto->_plugins->{$plugin} = 1;
unless ($instant) {