added a warning to ->components(), and changed tests which called it to be after...
[catagits/Catalyst-Runtime.git] / lib / Catalyst.pm
index 9c7dec2..46fc522 100644 (file)
@@ -1020,11 +1020,20 @@ EOF
 
     if (
         $class->debug and
-        my $comps = $class->container->get_all_components($class)
+        my $comps = $class->container->get_all_component_services($class)
     ) {
         my $column_width = Catalyst::Utils::term_width() - 8 - 9;
-        my $t = Text::SimpleTable->new( [ $column_width, 'Class' ], [ 8, 'Type' ] );
-        $t->row( $_ => ref($comps->{$_}) ? 'instance' : 'class' ) for keys %$comps;
+        my $t = Text::SimpleTable->new( [ $column_width, 'Class' ], [ 8, 'Lifecycle' ] );
+
+        # FIXME
+        # I don't really know what we're going to show here
+        while (my ($class, $info) = each %$comps) {
+            my $lifecycle = $info->{backcompat_service}
+                          ? $info->{backcompat_service}->lifecycle
+                          : $info->{service}->lifecycle
+                          ;
+            $t->row( $class, $lifecycle );
+        }
 
         $class->log->debug( "Loaded components:\n" . $t->draw . "\n" );
     }
@@ -1449,12 +1458,18 @@ Returns a hash of components.
 sub components {
     my ( $class, $comps ) = @_;
 
+    # FIXME
+    # this is very wrong
     # people create components calling this sub directly, before setup
+    # also, $class->log doesn't work before setup_log
     $class->setup_config unless $class->container;
 
     my $container = $class->container;
 
     if ( $comps ) {
+        $class->log->warn(q{You are adding components using Catalyst's components method.});
+        $class->log->warn(q{This behaviour is deprecated, please read});
+        $class->log->warn(q{Catalyst::IOC::Container's documentation for better ways to do that.});
         $container->add_component( $_ ) for keys %$comps;
     }