NAME
Bolts::Meta::Locator - Standard meta locator for Bolts
VERSION
version 0.143170
DESCRIPTION
This provides the standard meta locator for Bolts. It may be extended by your application to add custom blueprints, scopes, injectors, inferrers, and other objects.
ROLES
ATTRIBUTES
root
This returns the object itself for Bolts::Role::Locator to use.
blueprints
This is a bag within the meta locator containing these blueprints.
acquired
This constructs artifacts by acquisition, via Bolts::Blueprint::Acquired.
given
This constructs artifacts for injection by pulling values from passed parameters, via Bolts::Blueprint::Given.
literal
This constructs artifacts using a value defined when the bag is defined, via Bolts::Blueprint::Literal.
built
This constructs artifacts using a subroutine given when the bag is defined, via Bolts::Blueprint::Built.
build_injector
This constructs artifacts for injection using a subroutine given when the bag is defined, via Bolts::Blueprint::BuiltInjector.
factory
This constructs artifacts by calling a class method on a package name, via Bolts::Blueprint::Factory.
inference
This is a nested array bag containing these inferrers. (Actually, just this inferrer so far.)
moose
This infers the dependencies a Moose class has by examining the attributes on it's metaclass. This inferer only works with Bolts::Blueprint::Factory blueprints.
injector
This is a nested bag containing dependency injector objects. It contains these injectors.
parameter_name
Injects by passing named parameters to the blueprint, via Bolts::Injector::Parameter::ByName.
parameter_position
Injects by passing parameters by position to the blueprint, via Bolts::Injector::Parameter::ByPosition.
setter
Injects by calling a setter method on the constructed artifact, via Bolts::Injector::Setter.
store_array
Injects into an array reference by index or push, via Bolts::Injector::Store::Array.
store_hash
Injects into a hash reference by key, via Bolts::Injector::Store::Hash.
scope
Nested bag containing the predefined scopes.
_
This is the default scope, which is the same as "prototype".
prototype
This is the non-scope scope, which never caches a value and always causes it to constructed on each acquisition, via Bolts::Scope::Prototype.
singleton
This scopes an artifact to last as long as the bag containing it, via Bolts::Scope::Singleton.
AUTHOR
Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Qubling Software LLC.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.