NAME
PkgForge::ConfigFile - A configuration file class for the LCFG Package Forge
VERSION
This documentation refers to PkgForge::ConfigFile version 1.4.8
SYNOPSIS
This is a Moose role and cannot be instantiated directly. Use it
as shown below:
package PkgForge::Foo;
use Moose;
with 'PkgForge::ConfigFile';
# optionally, default the configfile:
has '+configfile' => ( default => '/etc/foo.yaml' );
########
## A script that uses the class with a configfile
########
my $obj = PkgForge::Foo->new_with_config(configfile => '/etc/bar.yaml',
other_opt => 'foo');
DESCRIPTION
This is a Moose role which can be applied to a class to give it the ability to set values of attributes for new instances from configuration files. The configuration file format must be YAML, multiple files can be supplied which will be loaded in sequence.
ATTRIBUTES
- configfile
-
This attribute is provided by the base role MooseX::ConfigFromFile. You can provide a default configfile pathname like so:
has '+configfile' => ( default => '/etc/myapp.yaml' );
You can also provide a list of files (wrapped in a sub to satisfy Moose) as a default. Given a list of files the values of attributes will come from the latest (right-most) file in which the attribute is specified. The configuration format is YAML, in most cases all that is required are simple key-value pairs separated with a colon, one per-line, for example
bucket: lcfg
, see YAML::Syck for more information.
SUBROUTINES/METHODS
Class Methods
- get_config_from_file
-
This is used internally by either
new_with_config
or thenew_with_options
method provided in the MooseX::Getopt role. This uses YAML::Syck to parse the configuration files. - new_with_config
-
This is provided by the base role MooseX::ConfigFromFile. This acts just like a regular
new()
, but it also accepts an argumentconfigfile
to specify the configuration file from which to load other attributes. Explicit arguments to this method will override anything loaded from the configfile. You may also pass in a string which is the filename for the configuration file but with a plus-sign (+) prefix. This file name will then be appended to the list which comes from the default for the attribute (if any).
DEPENDENCIES
This module is powered by Moose and also uses MooseX::ConfigFromFile and YAML::Syck
SEE ALSO
PLATFORMS
This is the list of platforms on which we have tested this software. We expect this software to work on any Unix-like platform which is supported by Perl.
ScientificLinux5, Fedora13
BUGS AND LIMITATIONS
Please report any bugs or problems (or praise!) to bugs@lcfg.org, feedback and patches are also always very welcome.
AUTHOR
Stephen Quinney <squinney@inf.ed.ac.uk>
LICENSE AND COPYRIGHT
Copyright (C) 2010-2011 University of Edinburgh. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the terms of the GPL, version 2 or later.