if( @result ) {
# Disgusting hack to work out correct method name
my $warn_for = lc $prefixes[0];
- my $msg = "Used regexp fallback for \$c->{$warn_for}('${name}'), which found '" .
+ my $msg = "Used regexp fallback for \$c->${warn_for}('${name}'), which found '" .
(join '", "', @result) . "'. Relying on regexp fallback behavior for " .
"component resolution is unreliable and unsafe.";
my $short = $result[0];
=item The -Debug option in your MyApp.pm
-=item By declaring "sub debug { 1 }" in your MyApp.pm.
+=item By declaring C<sub debug { 1 }> in your MyApp.pm.
=back
-Calling $c->debug(1) has no effect.
+Calling C<< $c->debug(1) >> has no effect.
=cut
# applying modifiers).
Scope::Upper::reap(sub {
my $meta = Class::MOP::get_metaclass_by_name($class);
- $meta->make_immutable unless $meta->is_immutable;
+ $meta->make_immutable(replace_constructor => 1) unless $meta->is_immutable;
}, Scope::Upper::SCOPE(1));
$class->setup_finalize;
$levels ||= '';
$levels =~ s/^\s+//;
$levels =~ s/\s+$//;
- my %levels = map { $_ => 1 } split /\s*,\s*/, $levels || '';
-
+ my %levels = map { $_ => 1 } split /\s*,\s*/, $levels;
+
+ my $env_debug = Catalyst::Utils::env_value( $class, 'DEBUG' );
+ if ( defined $env_debug ) {
+ $levels{debug} = 1 if $env_debug; # Ugly!
+ delete($levels{debug}) unless $env_debug;
+ }
+
unless ( $class->log ) {
$class->log( Catalyst::Log->new(keys %levels) );
}
- my $env_debug = Catalyst::Utils::env_value( $class, 'DEBUG' );
- if ( defined($env_debug) or $levels{debug} ) {
+ if ( $levels{debug} ) {
Class::MOP::get_metaclass_by_name($class)->add_method('debug' => sub { 1 });
$class->log->debug('Debug messages enabled');
}
when the -Stats options is set, debug is on or when the <MYAPP>_STATS
environment variable is set.
-Note that this is a static method, not an accessor and should be overloaded
-by declaring "sub use_stats { 1 }" in your MyApp.pm, not by calling $c->use_stats(1).
+Note that this is a static method, not an accessor and should be overridden
+by declaring C<sub use_stats { 1 }> in your MyApp.pm, not by calling C<< $c->use_stats(1) >>.
=cut