Bread-Board-Declare

 view release on metacpan or  search on metacpan

lib/Bread/Board/Declare/Role/Object.pm  view on Meta::CPAN


    my $meta = Class::MOP::class_of($self);

    my %seen = (
        map { $_->class => $_->name }
            grep { $_->does('Bread::Board::Service::WithClass') && $_->has_class }
                 $meta->get_all_services
    );
    for my $service ($meta->get_all_services) {
        if ($service->isa('Bread::Board::Declare::BlockInjection')) {
            Scalar::Util::weaken(my $weakself = $self);
            my $block = $service->block;
            $self->add_service(
                $service->clone(
                    block => sub {
                        $block->(@_, $weakself)
                    },
                )
            );
        }
        elsif ($service->isa('Bread::Board::Declare::ConstructorInjection')



( run in 0.834 second using v1.01-cache-2.11-cpan-65fba6d93b7 )