X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=24e45bd3604fa6d19a37d0b512118383bb1f54d5;hp=16510e5e8f42333d280da13fe5ab0d5f0fc3230a;hb=83e69a6b03e61e29f918144cff0b0562e2a92ec4;hpb=f0bb41afeb618a7abcaa5816b4cb9aa419be5066 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 16510e5..24e45bd 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -2239,8 +2239,11 @@ sub setup_components { } for my $component (@comps) { - $class->components->{ $component } = $class->setup_component($component); - for my $component ($class->expand_component_module( $component, $config )) { + my $instance = $class->components->{ $component } = $class->setup_component($component); + my @expanded_components = $instance->can('expand_modules') + ? $instance->expand_modules( $component, $config ) + : $class->expand_component_module( $component, $config ); + for my $component (@expanded_components) { next if $comps{$component}; $class->_controller_init_base_classes($component); # Also cover inner packages $class->components->{ $component } = $class->setup_component($component);