summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-04-16 11:00:06 -0500
committerJesse Luehrs <doy@tozt.net>2011-04-16 11:00:06 -0500
commitbb96267f6841941a9359727640612bdd3cac22e3 (patch)
tree84d207d71863772db31134c7379c78894fa8f948 /lib
parent1a536f9127cd6c9b28000f6de00dfdbe21793224 (diff)
downloadbread-board-declare-bb96267f6841941a9359727640612bdd3cac22e3.tar.gz
bread-board-declare-bb96267f6841941a9359727640612bdd3cac22e3.zip
need to make sure we pass along all of the service attributes
Diffstat (limited to 'lib')
-rw-r--r--lib/Bread/Board/Declare/Role/Object.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Bread/Board/Declare/Role/Object.pm b/lib/Bread/Board/Declare/Role/Object.pm
index 6ea4d91..8c8b68e 100644
--- a/lib/Bread/Board/Declare/Role/Object.pm
+++ b/lib/Bread/Board/Declare/Role/Object.pm
@@ -29,8 +29,14 @@ after BUILD => sub {
&& (my $meta = Class::MOP::class_of($service->class))) {
my $inferred = Bread::Board::Service::Inferred->new(
current_container => $self,
+ # XXX: this is kinda ugly, maybe ::Inferred should be able to
+ # also take a 'prototype' service, rather than just args?
service_args => {
- dependencies => $service->dependencies,
+ constructor_name => $service->constructor_name,
+ dependencies => $service->dependencies,
+ $service->lifecycle
+ ? (lifecycle => $service->lifecycle)
+ : (),
},
)->infer_service($service->class);