From: André Walker Date: Tue, 2 Aug 2011 17:53:47 +0000 (-0300) Subject: created application to test extending the container X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=3ef84846ef818c8b840b3b33a675d61fc23e8459 created application to test extending the container --- diff --git a/t/lib/TestAppCustomContainerNoSugar.pm b/t/lib/TestAppCustomContainerNoSugar.pm new file mode 100644 index 0000000..3dc475b --- /dev/null +++ b/t/lib/TestAppCustomContainerNoSugar.pm @@ -0,0 +1,8 @@ +package TestAppCustomContainerNoSugar; +use Moose; +use Catalyst; +extends 'Catalyst'; + +__PACKAGE__->setup; + +1; diff --git a/t/lib/TestAppCustomContainerNoSugar/Container.pm b/t/lib/TestAppCustomContainerNoSugar/Container.pm new file mode 100644 index 0000000..d8f3bde --- /dev/null +++ b/t/lib/TestAppCustomContainerNoSugar/Container.pm @@ -0,0 +1,37 @@ +package TestAppCustomContainerNoSugar::Container; +use Moose; + +extends 'Catalyst::IOC::Container'; + +sub BUILD { + my $self = shift; + $self->get_sub_container('component')->add_service( + Catalyst::IOC::ConstructorInjection->new( + name => 'model_Baz', + class => 'TestAppCustomContainerNoSugar::Model::Baz', + lifecycle => 'InstancePerContext', + dependencies => [ + depends_on( '/application_name' ), + depends_on( '/config' ), + depends_on( '/model/Foo' ), + ], + ) + ); + $self->get_sub_container('model')->add_service( + Catalyst::IOC::BlockInjection->new( + name => 'Baz', + dependencies => [ + depends_on( '/model/Foo' ), + depends_on( '/component/model_Baz' ), + ], + block => sub { + my $s = shift; + my $foo = $s->param('Foo'); + my $instance = $s->param('model_Baz'); + return $instance; + }, + ) + ); +} + +1; diff --git a/t/lib/TestAppCustomContainerNoSugar/Controller/Root.pm b/t/lib/TestAppCustomContainerNoSugar/Controller/Root.pm new file mode 100644 index 0000000..0bc72b3 --- /dev/null +++ b/t/lib/TestAppCustomContainerNoSugar/Controller/Root.pm @@ -0,0 +1,7 @@ +package TestAppCustomContainerNoSugar::Controller::Root; +use Moose; +BEGIN { extends 'Catalyst::Controller' } + +__PACKAGE__->meta->make_immutable; +no Moose; +1; diff --git a/t/lib/TestAppCustomContainerNoSugar/Model/Bar.pm b/t/lib/TestAppCustomContainerNoSugar/Model/Bar.pm new file mode 100644 index 0000000..cad3286 --- /dev/null +++ b/t/lib/TestAppCustomContainerNoSugar/Model/Bar.pm @@ -0,0 +1,8 @@ +package TestAppCustomContainerNoSugar::Model::Bar; +use Moose; +extends 'Catalyst::Model'; + +__PACKAGE__->meta->make_immutable; + +no Moose; +1; diff --git a/t/lib/TestAppCustomContainerNoSugar/Model/Baz.pm b/t/lib/TestAppCustomContainerNoSugar/Model/Baz.pm new file mode 100644 index 0000000..06913de --- /dev/null +++ b/t/lib/TestAppCustomContainerNoSugar/Model/Baz.pm @@ -0,0 +1,8 @@ +package TestAppCustomContainerNoSugar::Model::Baz; +use Moose; +extends 'Catalyst::Model'; + +__PACKAGE__->meta->make_immutable; + +no Moose; +1; diff --git a/t/lib/TestAppCustomContainerNoSugar/Model/Foo.pm b/t/lib/TestAppCustomContainerNoSugar/Model/Foo.pm new file mode 100644 index 0000000..3b32cb9 --- /dev/null +++ b/t/lib/TestAppCustomContainerNoSugar/Model/Foo.pm @@ -0,0 +1,8 @@ +package TestAppCustomContainerNoSugar::Model::Foo; +use Moose; +extends 'Catalyst::Model'; + +__PACKAGE__->meta->make_immutable; + +no Moose; +1; diff --git a/t/lib/TestAppCustomContainerNoSugar/View/MyView.pm b/t/lib/TestAppCustomContainerNoSugar/View/MyView.pm new file mode 100644 index 0000000..ccf8fbe --- /dev/null +++ b/t/lib/TestAppCustomContainerNoSugar/View/MyView.pm @@ -0,0 +1,8 @@ +package TestAppCustomContainerNoSugar::View::MyView; +use Moose; +extends 'Catalyst::View'; + +__PACKAGE__->meta->make_immutable; + +no Moose; +1;