focal (3) Config::MVP::Reader.3pm.gz

Provided by: libconfig-mvp-perl_2.200011-1_all bug

NAME

       Config::MVP::Reader - object to read config from storage into an assembler

VERSION

       version 2.200011

SYNOPSIS

         use Config::MVP::Reader::YAML; # this doesn't really exist

         my $reader   = Config::MVP::Reader::YAML->new;

         my $sequence = $reader->read_config('/etc/foobar.yml');

DESCRIPTION

       A Config::MVP::Reader exists to read configuration data from storage (like a file) and convert that data
       into instructions to a Config::MVP::Assembler, which will in turn convert them into a
       Config::MVP::Sequence, the final product.

ATTRIBUTES

   add_cwd_to_lib
       If true (which it is by default) then the current working directly will be locally added to @INC during
       config loading.  This helps deal with changes made in Perl v5.26.1.

METHODS

   read_config
         my $sequence = $reader->read_config($location, \%arg);

       This method is passed a location, which has no set meaning, but should be the mechanism by which the
       Reader is told how to locate configuration.  It might be a file name, a hashref of parameters, a DBH, or
       anything else, depending on the needs of the specific Reader subclass.

       It is also passed a hashref of arguments, of which there is only one valid argument:

        assembler - the Assembler object into which to read the config

       If no assembler argument is passed, one will be constructed by calling the Reader's "build_assembler"
       method.

       Subclasses should generally not override "read_config", but should instead implement a
       "read_into_assembler" method, described below.  If a subclass does override "read_config" it should take
       care to respect the "add_cwd_to_lib" attribute, above.

   read_into_assembler
       This method should not be called directly.  It is called by "read_config" with the following parameters:

         my $sequence = $reader->read_into_assembler( $location, $assembler );

       The method should read the configuration found at $location and use it to instruct the $assembler (a
       Config::MVP::Assembler) what configuration to perform.

       The default implementation of this method will throw an exception complaining that it should have been
       implemented by a subclass.

   build_assembler
       If no Assembler is provided to "read_config"'s "assembler" parameter, this method will be called on the
       Reader to construct one.

       It must return a Config::MVP::Assembler object, and by default will return an entirely generic one.

AUTHOR

       Ricardo Signes <rjbs@cpan.org>

       This software is copyright (c) 2018 by Ricardo Signes.

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