Bolts::Util - Utilities helpful for use with Bolts
version 0.143171
use Bolts::Util qw( bolts_init locator_for meta_locator_for ); my $loc = locator_for($bag); my $thing = $loc->acquire('path', 'to', 'thing'); my $metaloc = meta_locator_for($bag); my $blueprint = $metaloc->acquire('blueprint', 'factory', { class => 'MyApp::Thing', method => 'fetch', }); # See Bolts::Role::Initializer for a better synopsis my $obj = MyApp::Thing->new( foo => bolts_init('path', 'to', 'foo'), );
This provides some helpful utility methods for use with Bolts.
my %artifact = %{ artifact($bag, $name, %definition) }; # For example: my %artifact = %{ artifact($bag, thing => ( class => 'MyApp::Thing' ) ) };
This contains the internal implementation for building Bolt::Artifact objects used by the sugar methods in Bolts and Bolts::Role. See the documentation there for more details on how to call it.
The $bag must be the metaclass or reference to which the artifact is being attached. The $name is the name to give the artifact and teh %definition is the remainder of the definition.
$bag
$name
%definition
This function returns a hash with a single key, which is the name of the artifact. The value on that key is an object that implements Bolts::Role::Artifact.
my $loc = locator_for($bag);
Given a bag, it will return a Bolts::Role::Locator for acquiring artifacts from it. If the bag provides it's own locator, the bag will be returned. If it doesn't (e.g., if it's a hash or an array or just some other object that doesn't have a locator built-in), then a new locator will be built to locate within the bag and returned on the first call. Subsequent calls using the same reference will return the same locator object.
my $metaloc = meta_locator_for($bag);
Attempts to find the meta locator for the bag. It returns a Bolts::Role::Locator that is able to return artifacts used to manage a collection of bolts bags and artifacts. If the bag itself does not have such a locator associated with it, one is constructed using the "$Bolts::GLOBAL_FALLBACK_META_LOCATOR" in Bolts class, which is Bolts::Meta::Locator by default. After the first call, the object created the first time for each reference will be reused.
my $init = bolts_init(@path, \%params);
This is shorthand for:
my $init = Bolts::Meta::Initializer->new(@path, \%params);
This returns an initializer object that may be used with Bolts::Role::Initializer to automatically initialize attributes from a built-in locator.
Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
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.
To install Bolts, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bolts
CPAN shell
perl -MCPAN -e shell install Bolts
For more information on module installation, please visit the detailed CPAN module installation guide.