};
}
-sub model (&) { _subcontainer( shift, (caller)[0], 'model' ) }
-sub view (&) { _subcontainer( shift, (caller)[0], 'view' ) }
-sub controller (&) { _subcontainer( shift, (caller)[0], 'controller' ) }
+sub model (&) { &_subcontainer }
+sub view (&) { &_subcontainer }
+sub controller (&) { &_subcontainer }
-sub _subcontainer (&$$) {
- my ( $code, $caller, $subcontainer ) = @_;
+sub _subcontainer {
+ my $code = shift;
+
+ my ( $caller, $f, $l, $subcontainer ) = caller(1);
+ $subcontainer =~ s/^Catalyst::IOC:://;
no strict 'refs';
local ${"${caller}::current_container"} =
}
$args{dependencies} ||= {};
- $args{dependencies}{application_name} = depends_on( '/application_name' );
+ $args{dependencies}{catalyst_application} = depends_on( '/catalyst_application' );
my $lifecycle = $args{lifecycle} || 'Singleton';
- $args{lifecycle} = grep( m/^$lifecycle$/, qw/COMPONENTSingleton Request/)
+ $args{lifecycle} = grep( m/^$lifecycle$/, qw/COMPONENTSingleton Request/ )
? "+Catalyst::IOC::LifeCycle::$lifecycle"
: $lifecycle
;
# FIXME - check $args{type} here!
my $component_name = join '::', (
- $current_container->resolve(service => '/application_name'),
+ $current_container->resolve(service => '/catalyst_application'),
ucfirst($current_container->name),
$name
);
=head2 component
-Adds a component to the subcontainer. Works like L<Bread::Board::service>.
+Adds a component to the sub-container. Works like L<Bread::Board::service>.
=head1 AUTHORS