## GSOC
+### Final steps for GSOC
+
+##### Things that work:
+
+##### Things that don't work:
+
+##### Need planning, have questions:
+
+### Next steps - planned:
+
+ - some imports need to get the importing package in Catalyst::IOC
+
+ - test values directly instead of serializing them over http in t/lib/TestCustomContainer.pm
+
+ - 16:01 < shadowpaste> "t0m" at 217.168.150.38 pasted "more explicit? thoughts?" (13 lines) at http://paste.scsys.co.uk/131520
+
+ - make ACCEPT_CONTEXT and COMPONENT optional in Catalyst::IOC::BlockInjection and Catalyst::IOC::ConstructorInjection
+ - Create COMPONENTSingleton life cycle
+
+ - Back compat for Catalyst.pm moved methods (locate_components)
+
+ - Test custom container
+ - writing some tests which verify that the models you think should be
+ there are there, and that they received their dependencies as arguments
+ - i.e. Model::Bar should get params { foo => $model_foo } when being
+ constructed, etc
+ - Need to test that if you have a standard component Frotz
+ and a customized component Fnar, and Fnar depends on Frotz
+ - And yeah, some tests that the customised components actually work via
+ $c->model('Foo'), and that COMPONENT is called (or not called)
+ as appropiate and that ACCEPT_CONTEXT is called (or not) as appropriate
+
### Next steps - less planned:
- Creating service()-like sugar for component
1;
-##### To start with
-
-package MyApp::Container;
-use Moose;
-
-extends 'Catalyst::Container;
-
-after BUILD => sub {
- my $self = shift;
- my $model_container = $self->get_sub_container('model');
- my $service = Catalyst::IOC::ConstructorInjection->new(
- name => 'Baz',
- class => 'MyApp::Model::Baz',
- dependencies => [
- depends_on( '/application_name' ),
- depends_on( '/config' ),
- depends_on( '/model/Foo' ),
- ],
- lifecycle => 'InstancePerContext',
- );
- $model_container->add_service( 'Foo', $service );
-};
-
### To polish off / t0m review
locate_components service vs setup_components method
- should setup_components be a service that things like the ->component lookup
can depend on?
- - my $accept_context_args = $self->param('accept_context_args');
- + my $accept_context_args = $params{accept_context_args};
- ^^ This (may be) wrong! I am thinking the service should be allowed to mangle the
- accept_context args, no?
- Without this change, the user could make a custom service which mangled the param, and use
- Catalyst/IOC/Service/WithAcceptContext.pm, with this change, that module will always see the
- un-mangled version?? However, without this change, shit doesn't work...
-
### Known issues
- Broken $instance->expand_modules() in setup_components and figure