From: Christian Hansen Date: Thu, 28 Apr 2005 18:30:17 +0000 (+0000) Subject: Fixed preserve component order for instantiation X-Git-Tag: 5.7099_04~1418 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=89acad38288ee023e8f6398bbee9c1d2fd6fdbfe;hp=1bd12246e2f2324aa30bf000cb536b87b12eeebc Fixed preserve component order for instantiation --- diff --git a/lib/Catalyst/Engine.pm b/lib/Catalyst/Engine.pm index 0c0b8cc..4141198 100644 --- a/lib/Catalyst/Engine.pm +++ b/lib/Catalyst/Engine.pm @@ -627,11 +627,7 @@ sub retrieve_components { die qq/Couldn't load components "$error"/; } - $self->components( {} ); - - for my $component ( $self->_components ) { - $self->components->{$component} = $component; - } + return $self->_components; } =item $c->run @@ -668,7 +664,6 @@ Setup. sub setup { my $self = shift; - $self->retrieve_components; $self->setup_components; if ( $self->debug ) { my $name = $self->config->{name} || 'Application'; @@ -684,11 +679,14 @@ Setup components. sub setup_components { my $self = shift; + + $self->components( {} ); my @components; - for my $component ( keys %{ $self->components } ) { + for my $component ( $self->retrieve_components ) { unless ( UNIVERSAL::isa( $component, 'Catalyst::Base' ) ) { + $self->components->{$component} = $component; next; }