The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

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.