remainings of flush_request_services()
[catagits/Catalyst-Runtime.git] / lib / Catalyst / IOC / Container.pm
index c4c8b5a..29c39be 100644 (file)
@@ -82,6 +82,16 @@ sub BUILD {
 
     my $config = $self->resolve( service => 'config' );
 
+    # don't force default_component to be undef if the config wasn't set
+    my @default_view  = $config->{default_view}
+                      ? ( default_component => $config->{default_view} )
+                      : ( )
+                      ;
+    my @default_model = $config->{default_model}
+                      ? ( default_component => $config->{default_model} )
+                      : ( )
+                      ;
+
     $self->add_sub_container(
         $self->build_component_subcontainer
     );
@@ -91,15 +101,11 @@ sub BUILD {
     );
 
     $self->add_sub_container(
-        $self->build_view_subcontainer(
-            default_component => $config->{default_view},
-        )
+        $self->build_view_subcontainer( @default_view )
     );
 
     $self->add_sub_container(
-        $self->build_model_subcontainer(
-            default_component => $config->{default_model},
-        )
+        $self->build_model_subcontainer( @default_model )
     );
 }
 
@@ -575,7 +581,7 @@ sub find_component {
     }
 
     # one last search for things like $c->comp(qr/::M::/)
-    @result = $self->find_component_regexp(
+    @result = $self->_find_component_regexp(
         $component, @args
     ) if !@result and ref $component;
 
@@ -583,7 +589,7 @@ sub find_component {
     return @result;
 }
 
-sub find_component_regexp {
+sub _find_component_regexp {
     my ( $self, $component, @args ) = @_;
     my @result;
 
@@ -667,7 +673,9 @@ sub _get_component_type_name {
 
     my @parts = split /::/, $component;
 
-    while (my $type = shift @parts) {
+    while (scalar @parts > 1) {
+        my $type = shift @parts;
+
         return ('controller', join '::', @parts)
             if $type =~ /^(c|controller)$/i;
 
@@ -686,19 +694,6 @@ sub expand_component_module {
     return Devel::InnerPackage::list_packages( $module );
 }
 
-# copied from stevan's OX
-sub flush_request_services {
-    my $self = shift;
-    my @services = $self->get_service_list;
-
-    foreach my $service (@services) {
-        my $injection = $self->get_service($service);
-        if ($injection->does('Catalyst::IOC::LifeCycle::Request')) {
-            $injection->flush_instance;
-        }
-    }
-}
-
 1;
 
 __END__
@@ -872,12 +867,6 @@ default component (such as default_view, if $sub_container is 'view'). If
 $name is a regexp, it returns an array of matching components. Otherwise, it
 looks for the component with name $name.
 
-=head2 get_components_names_types
-
-Gets all components from all containers and returns them as an array of
-arrayrefs containing the component name and the component type (i.e., whether
-it's an instance or a class).
-
 =head2 get_all_components
 
 Fetches all the components, in each of the sub_containers model, view and
@@ -894,20 +883,14 @@ by the component name given.
 Searches for components in all containers. If $component is the full class
 name, the subcontainer is guessed, and it gets the searched component in there.
 Otherwise, it looks for a component with that name in all subcontainers. If
-$component is a regexp, it calls the method below, find_component_regexp,
-and matches all components against that regexp.
-
-=head2 find_component_regexp
-
-Finds components that match a given regexp. Used internally, by find_component.
+$component is a regexp it calls _find_component_regexp and matches all
+components against that regexp.
 
 =head2 expand_component_module
 
 Components found by C<locate_components> will be passed to this method, which
 is expected to return a list of component (package) names to be set up.
 
-=head2 flush_request_services
-
 =head2 setup_components
 
 =head1 AUTHORS