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(
$dispatcher = 'Catalyst::Dispatcher::' . $dispatcher;
}
- if ( $ENV{CATALYST_DISPATCHER} ) {
- $dispatcher = 'Catalyst::Dispatcher::' . $ENV{CATALYST_DISPATCHER};
- }
-
- if ( $ENV{ uc($class) . '_DISPATCHER' } ) {
- $dispatcher =
- 'Catalyst::Dispatcher::' . $ENV{ uc($class) . '_DISPATCHER' };
+ if ( my $env = Catalyst::Utils::env_value( $class, 'DISPATCHER' ) ) {
+ $dispatcher = 'Catalyst::Dispatcher::' . $env;
}
unless ($dispatcher) {
$engine = 'Catalyst::Engine::' . $engine;
}
- if ( $ENV{CATALYST_ENGINE} ) {
- $engine = 'Catalyst::Engine::' . $ENV{CATALYST_ENGINE};
- }
-
- if ( $ENV{ uc($class) . '_ENGINE' } ) {
- $engine = 'Catalyst::Engine::' . $ENV{ uc($class) . '_ENGINE' };
+ if ( my $env = Catalyst::Utils::env_value( $class, 'ENGINE' ) ) {
+ $engine = 'Catalyst::Engine::' . $env;
}
if ( $ENV{MOD_PERL} ) {
sub setup_home {
my ( $class, $home ) = @_;
- if ( $ENV{CATALYST_HOME} ) {
- $home = $ENV{CATALYST_HOME};
- }
-
- if ( $ENV{ uc($class) . '_HOME' } ) {
- $class =~ s/::/_/g;
- $home = $ENV{ uc($class) . '_HOME' };
+ if ( my $env = Catalyst::Utils::env_value( $class, 'HOME' ) ) {
+ $home = $env;
}
unless ($home) {
$class->log( Catalyst::Log->new );
}
- my $app_flag = Catalyst::Utils::class2env($class) . '_DEBUG';
-
- if (
- ( defined( $ENV{CATALYST_DEBUG} ) || defined( $ENV{$app_flag} ) )
- ? ( $ENV{CATALYST_DEBUG} || $ENV{$app_flag} )
- : $debug
- )
- {
+ my $env_debug = Catalyst::Utils::env_value( $class, 'DEBUG' );
+ if ( defined($env_debug) ? $env_debug : $debug ) {
no strict 'refs';
*{"$class\::debug"} = sub { 1 };
$class->log->debug('Debug messages enabled');