summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-02-20 02:29:50 -0600
committerJesse Luehrs <doy@tozt.net>2011-02-20 02:29:50 -0600
commit9a259f4341c60b2fb9ddc3aefc640081ead9f078 (patch)
tree74857633ae0093616434f8b0ea84e7199cd159ee /lib
parent56ea4c74c3ba642899a736eff7270067c6738020 (diff)
downloadbread-board-declare-9a259f4341c60b2fb9ddc3aefc640081ead9f078.tar.gz
bread-board-declare-9a259f4341c60b2fb9ddc3aefc640081ead9f078.zip
pass $self to block injections
Diffstat (limited to 'lib')
-rw-r--r--lib/MooseX/Bread/Board/Role/Object.pm14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/MooseX/Bread/Board/Role/Object.pm b/lib/MooseX/Bread/Board/Role/Object.pm
index 552bc75..e25fdf5 100644
--- a/lib/MooseX/Bread/Board/Role/Object.pm
+++ b/lib/MooseX/Bread/Board/Role/Object.pm
@@ -17,7 +17,19 @@ after BUILD => sub {
return unless $meta->has_services;
for my $service ($meta->services) {
- $self->add_service($service->clone);
+ if ($service->isa('MooseX::Bread::Board::BlockInjection')) {
+ my $block = $service->block;
+ $self->add_service(
+ $service->clone(
+ block => sub {
+ $block->(@_, $self)
+ },
+ )
+ );
+ }
+ else {
+ $self->add_service($service->clone);
+ }
}
};