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];
# 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');
}