From: Tomas Doran Date: Tue, 2 Aug 2011 18:36:48 +0000 (+0100) Subject: Update my part of the TODO X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=5faa454d2d70f44f01c0cd5cab9861768d303225;hp=c31259881c5bdcab50409ff2e167a6aeb9df52cd Update my part of the TODO --- diff --git a/TODO b/TODO index 23cdab7..38b2d1d 100644 --- a/TODO +++ b/TODO @@ -148,8 +148,6 @@ after BUILD => sub { - + $class->container->get_sub_container('model')->make_single_default; + $class->container->get_sub_container('view')->make_single_default; - +sub controller { shift->_lookup_mvc('controller', @_) } - get_components_names_types locate_components @@ -158,19 +156,6 @@ after BUILD => sub { +# also, do you think I should draw it here, or just return the data structure? +sub get_components_names_types { - + MyApp->config->{ 'Plugin::ConfigLoader' }->{ substitutions } = { - - +# FIXME - just till I understand how it's supposed to be done - +# Made this so that COMPONENT is executed once, - +# and ACCEPT_CONTEXT every call. - +has instance => ( - + is => 'rw', - - # This is ok?? - +my $applevel_config = TestAppContainer->container->resolve(service => 'config')->{applevel_config}; - +__PACKAGE__->config(applevel_config => 'foo'); - - +Same as L, but for controllers. The difference is +that there is no ACCEPT_CONTEXT for controllers. ^^ This is wrong!! diff --git a/lib/Catalyst/IOC/Container.pm b/lib/Catalyst/IOC/Container.pm index 4c99cd8..d3d67e2 100644 --- a/lib/Catalyst/IOC/Container.pm +++ b/lib/Catalyst/IOC/Container.pm @@ -782,12 +782,14 @@ C<__DATA__> as a config value, for example) The parameter list is split on comma (C<,>). You can override this method to do your own string munging, or you can define your own macros in -Cconfig-E{ 'Plugin::ConfigLoader' }-E{ substitutions }>. +C<< config( 'Plugin::ConfigLoader' => { substitutions => { ... } } ) >>. Example: - MyApp->config->{ 'Plugin::ConfigLoader' }->{ substitutions } = { - baz => sub { my $c = shift; qux( @_ ); } - } + MyApp->config( 'Plugin::ConfigLoader' => { + substitutions => { + baz => sub { my $c = shift; qux( @_ ); }, + }, + }); The above will respond to C<__baz(x,y)__> in config strings.