prettier plugin message
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine.pm
index 876c822..e5d2b10 100644 (file)
@@ -464,9 +464,9 @@ sub prepare {
         my @params;
         for my $key ( keys %{ $c->req->params } ) {
             my $value = $c->req->params->{$key} || '';
-            push @params, "$key=$value";
+            push @params, " $key=$value";
         }
-        $c->log->debug( 'Parameters are "' . join( ' ', @params ) . '"' );
+        $c->log->debug( 'Parameters', @params );
     }
     $c->prepare_uploads;
     return $c;
@@ -668,8 +668,6 @@ sub set_action {
     my $uid = $parent->getUID;
     $c->actions->{private}->{$uid}->{$method} = [ $namespace, $code ];
     my $forward = $prefix ? "$prefix/$method" : $method;
-    $c->log->debug(qq|Private "/$forward" is "$namespace->$method"|)
-      if $c->debug;
 
     if ( $flags{path} ) {
         $flags{path} =~ s/^\w+//;
@@ -696,12 +694,10 @@ sub set_action {
         $absolute = 1 if $flags{global};
         my $name = $absolute ? $path : "$prefix/$path";
         $c->actions->{plain}->{$name} = [ $namespace, $code ];
-        $c->log->debug(qq|Public "/$name" is "/$forward"|) if $c->debug;
     }
     if ( my $regex = $flags{regex} ) {
         push @{ $c->actions->{compiled} }, [ $regex, qr#$regex# ];
         $c->actions->{regex}->{$regex} = [ $namespace, $code ];
-        $c->log->debug(qq|Public "$regex" is "/$forward"|) if $c->debug;
     }
 
     $c->actions->{reverse}->{"$code"} = $reverse;
@@ -738,17 +734,16 @@ sub setup_actions {
         my $name = '';
         no strict 'refs';
         my @cache = ( $comp, @{"$comp\::ISA"} );
-        my @namespaces;
-        my %seen;
+        my %namespaces;
         while ( my $namespace = shift @cache ) {
-            push @namespaces, $namespace;
+            $namespaces{$namespace}++;
             for my $isa ( @{"$comp\::ISA"} ) {
-                next if $seen{$isa};
+                next if $namespaces{$isa};
                 push @cache, $isa;
-                $seen{$isa}++;
+                $namespaces{$isa}++;
             }
         }
-        for my $namespace (@namespaces) {
+        for my $namespace ( keys %namespaces ) {
             for my $sym ( values %{ $namespace . '::' } ) {
                 if ( *{$sym}{CODE} && *{$sym}{CODE} == $code ) {
                     $name = *{$sym}{NAME};
@@ -792,10 +787,38 @@ sub setup_components {
         $self->components->{ ref $comp } = $comp;
         $self->setup_actions($comp);
     }
-    $self->log->debug( 'Initialized components "'
-          . join( ' ', keys %{ $self->components } )
-          . '"' )
-      if $self->debug;
+    my @comps;
+    push @comps, " $_" for keys %{ $self->components };
+    $self->log->debug( 'Loaded components', @comps )
+      if ( @comps && $self->debug );
+    my $actions  = $self->actions;
+    my @messages = ('Loaded private actions');
+    my $walker   = sub {
+        my ( $walker, $parent, $messages, $prefix ) = @_;
+        $prefix .= $parent->getNodeValue || '';
+        $prefix .= '/' unless $prefix =~ /\/$/;
+        my $uid = $parent->getUID;
+        for my $action ( keys %{ $actions->{private}->{$uid} } ) {
+            my ( $class, $code ) = @{ $actions->{private}->{$uid}->{$action} };
+            push @$messages, _prettify( "$prefix$action", $class, $code );
+        }
+        $walker->( $walker, $_, $messages, $prefix )
+          for $parent->getAllChildren;
+    };
+    $walker->( $walker, $self->tree, \@messages, '' );
+    $self->log->debug(@messages) if ( $#messages && $self->debug );
+    @messages = ('Loaded plain actions');
+    for my $plain ( sort keys %{ $actions->{plain} } ) {
+        my ( $class, $code ) = @{ $actions->{plain}->{$plain} };
+        push @messages, _prettify( "/$plain", $class, $code );
+    }
+    $self->log->debug(@messages) if ( $#messages && $self->debug );
+    @messages = ('Loaded regex actions');
+    for my $regex ( sort keys %{ $actions->{regex} } ) {
+        my ( $class, $code ) = @{ $actions->{regex}->{$regex} };
+        push @messages, _prettify( $regex, $class, $code );
+    }
+    $self->log->debug(@messages) if ( $#messages && $self->debug );
 }
 
 =item $c->stash
@@ -835,6 +858,16 @@ sub _class2prefix {
     return $prefix;
 }
 
+sub _prettify {
+    my ( $action, $class, $code ) = @_;
+    formline
+' @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @|||||||||||||| ',
+      $action, $class, $code;
+    my $formatted = $^A;
+    $^A = '';
+    return $formatted;
+}
+
 =back
 
 =head1 AUTHOR