a little more cleanup
André Walker [Sat, 23 Jul 2011 15:13:27 +0000 (12:13 -0300)]
lib/Catalyst.pm

index 3a8b816..4d1be14 100644 (file)
@@ -1442,22 +1442,16 @@ Returns a hash of components.
 sub components {
     my ( $class, $comps ) = @_;
 
-    # FIXME: should this ugly kludge exist?
-    $class->setup_config unless defined $class->container;
-
-    my $containers;
-    $containers->{$_} = $class->container->get_sub_container($_)
-        for qw(model view controller);
+    # people create components calling this sub directly, before setup
+    $class->setup_config unless my $container = $class->container;
 
     if ( $comps ) {
-        for my $component ( keys %$comps ) {
-            $class->container->add_component(
-                $component, $class->setup_component($component)
-            );
-        }
+        $container->add_component(
+            $_, $class->setup_component($_)
+        ) for keys %$comps;
     }
 
-    return $class->container->get_all_components();
+    return $container->get_all_components();
 }
 
 =head2 $c->context_class