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.