X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTestAppCustomContainer%2FNoSugarContainer.pm;h=79ef2baa0c0c6553b18470bbe81f902c975b7496;hb=576d8ab82ede7893d118679e0df1e7675e53c446;hp=0dc9186d3175a126d28d5b478e93100a5a71733f;hpb=b32d8169eb676c8b780440083f86dc9b69909dbd;p=catagits%2FCatalyst-Runtime.git diff --git a/t/lib/TestAppCustomContainer/NoSugarContainer.pm b/t/lib/TestAppCustomContainer/NoSugarContainer.pm index 0dc9186..79ef2ba 100644 --- a/t/lib/TestAppCustomContainer/NoSugarContainer.pm +++ b/t/lib/TestAppCustomContainer/NoSugarContainer.pm @@ -8,78 +8,69 @@ extends 'Catalyst::IOC::Container'; sub BUILD { my $self = shift; - warn("Add Bar to model"); + warn("Add SingletonLifeCycle to model"); $self->get_sub_container('model')->add_service( Catalyst::IOC::ConstructorInjection->new( - name => 'Bar', + name => 'SingletonLifeCycle', lifecycle => 'Singleton', - class => 'TestAppCustomContainer::Model::Bar', + class => 'TestAppCustomContainer::Model::SingletonLifeCycle', + catalyst_component_name => 'TestAppCustomContainer::Model::SingletonLifeCycle', dependencies => { application_name => depends_on( '/application_name' ), - config => depends_on( '/config' ), foo => depends_on('/model/DefaultSetup'), }, ) ); + warn("Add RequestLifeCycle to model"); + $self->get_sub_container('model')->add_service( + Catalyst::IOC::ConstructorInjection->new( + name => 'RequestLifeCycle', + lifecycle => '+Catalyst::IOC::LifeCycle::Request', + class => 'TestAppCustomContainer::Model::RequestLifeCycle', + catalyst_component_name => 'TestAppCustomContainer::Model::RequestLifeCycle', + dependencies => { + application_name => depends_on( '/application_name' ), + foo => depends_on('/model/DefaultSetup'), + }, + ) + ); + +# Broken deps!?! # $self->get_sub_container('model')->add_service( -# # FIXME - i think it should be a ConstructorInjection -# # but only BlockInjection gets ctx parameter # Catalyst::IOC::BlockInjection->new( -# name => 'Baz', -# lifecycle => '+Catalyst::IOC::LifeCycle::Request', +# name => 'Quux', +# lifecycle => 'Singleton', # dependencies => [ -# Bread::Board::Dependency->new( -# service_name => 'foo', -# service_path => 'Foo', -# -# # FIXME - same as above -# service_params => { -# ctx => +{}, -# accept_context_args => [ +{} ], -# }, -# ), +# depends_on( '/component/model_Quux' ), # ], -# block => sub { -# TestAppCustomContainer::Model::Baz->new(foo => shift->param('foo')); -# }, +# block => sub { shift->param('model_Bar') }, # ) # ); -# Broken deps!?! +# my $fnar_config = $self->resolve(service => 'config')->{'Model::Fnar'} || {}; +# $self->get_sub_container('component')->add_service( +# Catalyst::IOC::ConstructorInjection->new( +# name => 'model_Fnar', +# lifecycle => 'Singleton', +# class => 'TestAppCustomContainer::External::Class', +# dependencies => [ +# depends_on( '/application_name' ), +# ], +# config => $fnar_config, +# ) +# ); # $self->get_sub_container('model')->add_service( # Catalyst::IOC::BlockInjection->new( -# name => 'Quux', +# name => 'model_Fnar', # lifecycle => 'Singleton', # dependencies => [ -# depends_on( '/component/model_Quux' ), +# depends_on( '/config' ), +# depends_on( '/component/model_Fnar' ), # ], -# block => sub { shift->param('model_Bar') }, +# block => sub { shift->param('model_Fnar') }, # ) # ); - - $self->get_sub_container('component')->add_service( - Catalyst::IOC::ConstructorInjection->new( - name => 'model_Fnar', - lifecycle => 'Singleton', - class => 'TestAppCustomContainer::External::Class', - dependencies => [ - depends_on( '/application_name' ), - depends_on( '/config' ), - ], - ) - ); - $self->get_sub_container('model')->add_service( - Catalyst::IOC::BlockInjection->new( - name => 'model_Fnar', - lifecycle => 'Singleton', - dependencies => [ - depends_on( '/config' ), - depends_on( '/component/model_Fnar' ), - ], - block => sub { shift->param('model_Fnar') }, - ) - ); } __PACKAGE__->meta->make_immutable;