summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-04-16 12:09:15 -0500
committerJesse Luehrs <doy@tozt.net>2011-04-16 12:09:15 -0500
commit34d6c5c10d764206a3203456546c55990e5a2abb (patch)
tree6a570eee80ef4bbbd7eed3f734255575f4675a71 /lib
parent2dd3ec51df430da9ab7a2a484b47758b2b68d40b (diff)
downloadbread-board-declare-34d6c5c10d764206a3203456546c55990e5a2abb.tar.gz
bread-board-declare-34d6c5c10d764206a3203456546c55990e5a2abb.zip
make sure inferred services get the ::Declare service trait
Diffstat (limited to 'lib')
-rw-r--r--lib/Bread/Board/Declare/Role/Object.pm6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Bread/Board/Declare/Role/Object.pm b/lib/Bread/Board/Declare/Role/Object.pm
index 8c8b68e..15b0bb0 100644
--- a/lib/Bread/Board/Declare/Role/Object.pm
+++ b/lib/Bread/Board/Declare/Role/Object.pm
@@ -40,6 +40,12 @@ after BUILD => sub {
},
)->infer_service($service->class);
+ # XXX: the above comment would also make this unnecessary
+ Bread::Board::Declare::ConstructorInjection->meta->rebless_instance(
+ $inferred,
+ associated_attribute => $service->associated_attribute,
+ );
+
$self->add_service($inferred);
$self->add_type_mapping_for($service->class, $inferred)
if $service->should_create_typemap;