Whitespace cleanup
[dbsrgits/SQL-Abstract.git] / lib / DBIx / Class / Storage / Debug / PrettyPrint.pm
index d76477f..251d03d 100644 (file)
@@ -12,27 +12,29 @@ __PACKAGE__->mk_group_accessors( simple => '_clear_line_str' );
 __PACKAGE__->mk_group_accessors( simple => '_executing_str' );
 __PACKAGE__->mk_group_accessors( simple => '_show_progress' );
 __PACKAGE__->mk_group_accessors( simple => '_last_sql' );
-__PACKAGE__->mk_group_accessors( simple => 'no_repeats' );
+__PACKAGE__->mk_group_accessors( simple => 'squash_repeats' );
 
 sub new {
    my $class = shift;
    my $args  = shift;
 
-   my $clear_line = $args->{clear_line} || "\r\e[J";
-   my $executing  = $args->{executing}  || eval { require Term::ANSIColor } ? do {
-       my $c = \&Term::ANSIColor::color;
-       $c->('blink white on_black') . 'EXECUTING...' . $c->('reset');;
-   } : 'EXECUTING...';
-   my $show_progress = defined $args->{show_progress} ? $args->{show_progress} : 1;
+   my $clear_line = $args->{clear_line} || "\r\x1b[J";
+   my $executing  = $args->{executing}  || (
+      eval { require Term::ANSIColor } ? do {
+          my $c = \&Term::ANSIColor::color;
+          $c->('blink white on_black') . 'EXECUTING...' . $c->('reset');
+      } : 'EXECUTING...'
+   );
+   my $show_progress = $args->{show_progress};
 
-   my $no_repeats = $args->{no_repeats};
+   my $squash_repeats = $args->{squash_repeats};
    my $sqlat = SQL::Abstract::Tree->new($args);
    my $self = $class->next::method(@_);
    $self->_clear_line_str($clear_line);
    $self->_executing_str($executing);
    $self->_show_progress($show_progress);
 
-   $self->no_repeats($no_repeats);
+   $self->squash_repeats($squash_repeats);
 
    $self->_sqlat($sqlat);
    $self->_last_sql('');
@@ -53,18 +55,15 @@ sub print {
 
   my $use_placeholders = !!$self->_sqlat->fill_in_placeholders;
 
-  # DBIC pre-quotes bindargs
-  $bindargs = [map { s/^'//; s/'$//; $_ } @{$bindargs}] if $use_placeholders;
-
   my $sqlat = $self->_sqlat;
   my $formatted;
-  if ($self->no_repeats && $self->_last_sql eq $string) {
+  if ($self->squash_repeats && $self->_last_sql eq $string) {
      my ( $l, $r ) = @{ $sqlat->placeholder_surround };
-     $formatted = '... : ' . join(', ', map "$l$_$r", @$bindargs) . "\n";
+     $formatted = '... : ' . join(', ', map "$l$_$r", @$bindargs)
   } else {
      $self->_last_sql($string);
-     $formatted = $sqlat->format($string, $bindargs) . "\n";
-     $formatted = "$formatted: " . join ', ', @{$bindargs}
+     $formatted = $sqlat->format($string, $bindargs);
+     $formatted = "$formatted : " . join ', ', @{$bindargs}
         unless $use_placeholders;
   }
 
@@ -74,7 +73,7 @@ sub print {
 sub query_start {
   my ($self, $string, @bind) = @_;
 
-  if(defined $self->callback) {
+  if (defined $self->callback) {
     $string =~ m/^(\w+)/;
     $self->callback->($1, "$string: ".join(', ', @bind)."\n");
     return;
@@ -95,27 +94,39 @@ sub query_end {
 
 =pod
 
-=head1 SYNOPSIS
+=head1 NAME
 
- package MyApp::Schema;
+DBIx::Class::Storage::Debug::PrettyPrint - Pretty Printing DebugObj
 
- use parent 'DBIx::Class::Schema';
+=head1 SYNOPSIS
 
- use DBIx::Class::Storage::Debug::PrettyPrint;
+ DBIC_TRACE_PROFILE=~/dbic.json perl -Ilib ./foo.pl
 
- __PACKAGE__->load_namespaces;
+Where dbic.json contains:
 
- my $pp = DBIx::Class::Storage::Debug::PrettyPrint->new({
-   profile => 'console',
- });
+ {
+   "profile":"console",
+   "show_progress":1,
+   "squash_repeats":1
+ }
 
- sub connection {
-   my $self = shift;
+=head1 METHODS
 
-   my $ret = $self->next::method(@_);
+=head2 new
 
-   $self->storage->debugobj($pp);
+ my $pp = DBIx::Class::Storage::Debug::PrettyPrint->new({
+   show_progress  => 1,             # tries it's best to make it clear that a SQL
+                                    # statement is still running
+   executing      => '...',         # the string that is added to the end of SQL
+                                    # if show_progress is on.  You probably don't
+                                    # need to set this
+   clear_line     => '<CR><ESC>[J', # the string used to erase the string added
+                                    # to SQL if show_progress is on.  Again, the
+                                    # default is probably good enough.
+
+   squash_repeats => 1,             # set to true to make repeated SQL queries
+                                    # be ellided and only show the new bind params
+   # any other args are passed through directly to SQL::Abstract::Tree
+ });
 
-   $ret
- }