added the app to the container when the app is built
André Walker [Wed, 2 May 2012 02:11:45 +0000 (23:11 -0300)]
lib/Catalyst.pm
lib/Catalyst/IOC/Container.pm

index fad4c90..1b4c69f 100644 (file)
@@ -142,6 +142,15 @@ sub MODIFY_CODE_ATTRIBUTES {
     );
 }
 
+sub BUILD {
+    my $self = shift;
+    my $class = ref $self;
+
+    Catalyst::Exception->throw("You can't run the application before $class" . "->setup")
+        unless $class->setup_finished;
+
+    $self->container->_set_application($self);
+}
 
 sub _application { $_[0] }
 
index e5609b3..d152144 100644 (file)
@@ -45,6 +45,8 @@ has application => (
     is       => 'ro',
     isa      => 'Catalyst|Str',
     lazy     => 1,
+    weak_ref => 1,
+    writer   => '_set_application',
     default  => sub { shift->application_name },
 );