include test for failure mode
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Stats.pm
index 247e1bd..0f7dc4a 100644 (file)
@@ -3,9 +3,12 @@ package Catalyst::Stats;
 use Moose;
 use Time::HiRes qw/gettimeofday tv_interval/;
 use Text::SimpleTable ();
+use Catalyst::Utils;
 use Tree::Simple qw/use_weak_refs/;
 use Tree::Simple::Visitor::FindByUID;
 
+use namespace::clean -except => 'meta';
+
 has enable => (is => 'rw', required => 1, default => sub{ 1 });
 has tree => (
              is => 'ro',
@@ -88,7 +91,8 @@ sub elapsed {
 sub report {
     my $self = shift;
 
-    my $t = Text::SimpleTable->new( [ 62, 'Action' ], [ 9, 'Time' ] );
+    my $column_width = Catalyst::Utils::term_width() - 9 - 13;
+    my $t = Text::SimpleTable->new( [ $column_width, 'Action' ], [ 9, 'Time' ] );
     my @results;
     $self->traverse(
                 sub {
@@ -152,7 +156,6 @@ sub getNodeValue {
     $self->tree->getNodeValue( @_ )->{ t };
 }
 
-no Moose;
 __PACKAGE__->meta->make_immutable();
 
 1;
@@ -322,10 +325,10 @@ from the previous profiling point.
 The 'rollup' flag indicates whether the reported time is the rolled up time for
 the block, or the elapsed time from the previous profiling point.
 
-=head1 COMPATABILITY METHODS
+=head1 COMPATIBILITY METHODS
 
 Some components might expect the stats object to be a regular Tree::Simple object.
-We've added some compatability methods to handle this scenario:
+We've added some compatibility methods to handle this scenario:
 
 =head2 accept