or (this will not overwrite existing files):
catalyst.pl -scripts $class
+
EOF
}
if (@plugins) {
my $t = Text::SimpleTable->new(74);
$t->row($_) for @plugins;
- $class->log->debug( "Loaded plugins:\n" . $t->draw );
+ $class->log->debug( "Loaded plugins:\n" . $t->draw . "\n" );
}
my $dispatcher = $class->dispatcher;
my $type = ref $class->components->{$comp} ? 'instance' : 'class';
$t->row( $comp, $type );
}
- $class->log->debug( "Loaded components:\n" . $t->draw )
+ $class->log->debug( "Loaded components:\n" . $t->draw . "\n" )
if ( keys %{ $class->components } );
}
);
$c->log->info(
- "Request took ${elapsed}s ($av/s)\n" . $t->draw );
+ "Request took ${elapsed}s ($av/s)\n" . $t->draw . "\n" );
}
return $c->response->status;
$paths->row(@$_) for @rows;
}
- $c->log->debug( "Loaded Path Part actions:\n" . $paths->draw );
+ $c->log->debug( "Loaded Chained actions:\n" . $paths->draw . "\n" );
}
=head2 $self->match( $c, $path )
$paths->row( $display_path, "/$action" );
}
}
- $c->log->debug( "Loaded Path actions:\n" . $paths->draw )
+ $c->log->debug( "Loaded Path actions:\n" . $paths->draw . "\n" )
if ( keys %{ $self->{paths} } );
}
my $action = $regex->{action};
$re->row( $regex->{path}, "/$action" );
}
- $c->log->debug( "Loaded Regex actions:\n" . $re->draw )
+ $c->log->debug( "Loaded Regex actions:\n" . $re->draw . "\n" )
if ( @{ $self->{compiled} } );
}
};
$walker->( $walker, $self->tree, '' );
- $c->log->debug( "Loaded Private actions:\n" . $privates->draw )
- if ($has_private);
+ $c->log->debug( "Loaded Private actions:\n" . $privates->draw . "\n" )
+ if $has_private;
# List all public actions
$_->list($c) for @{ $self->dispatch_types };
my $self = shift;
my $level = shift;
my $message = join( "\n", @_ );
- $self->{body} .= sprintf( "[%s] %s\n", $level, $message );
+ $message .= "\n" unless $message =~ /\n$/;
+ $self->{body} .= sprintf( "[%s] %s", $level, $message );
}
sub _flush {