---
name: "Bread::Board::BlockInjection"
section: "3pm"
platform: "linux"
package: "libbread-board-perl"
version: "0.37-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Bread::Board::BlockInjection"
---

# Bread::Board::BlockInjection(3pm)

service instantiated via custom subroutine

## NAME

Bread::Board::BlockInjection - service instantiated via custom subroutine

## VERSION

version 0.37

## DESCRIPTION

This service class instantiates objects by calling a coderef supplied in the "block" attribute.

This class consumes Bread::Board::Service::WithClass, Bread::Board::Service::WithParameters, Bread::Board::Service::WithDependencies.

## ATTRIBUTES

### "block"

A coderef, required. Will be invoked as a method on the service object, so it can call `"$_[0]->params"` to access parameters and (resolved) dependencies. It should return an instance of "class".

### "class"

Attribute provided by Bread::Board::Service::WithClass; if it is set, "block" should return an instance of this class (and the class will be already loaded, so there's no need to `"require"` it).

## METHODS

### "has\_class"

Predicate for "class". If the service does not declare a class, the "block" can of course return whatever it wants.

### "get"

Calls the "block" as a method on the service, and returns whatever that returned.

## AUTHOR

Stevan Little \<stevan@iinteractive.com\>

## BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/stevan/BreadBoard/issues

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

## COPYRIGHT AND LICENSE

This software is copyright (c) 2019, 2017, 2016, 2015, 2014, 2013, 2011, 2009 by Infinity Interactive.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
