Prophet::Config.3pm

Langue: en

Version: 2009-08-17 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Prophet::Config

SYNOPSIS

From, for example, a class that inherits from Prophet::App:
     has config => (
         is      => 'rw',
         isa     => 'Prophet::Config',
         default => sub {
             my $self = shift;
             return Prophet::Config->new(
                 app_handle => $self,
                 confname => 'prophetrc',
             );
         },
     );
 
 

DESCRIPTION

This class represents the configuration of Prophet and the application built on top of it. It's just an instance of Config::GitLike with a few small customizations and additions.

METHODS

new( confname => 'prophetrc', app_handle => $instance_of_prophet_app )

Initialize the configuration. Does NOT load the config for you! You need to call load for that. The configuration will also load automatically the first time your prophet application tries to get a config variable.

Both constructor arguments are required.

replica_config_file

The replica-specific configuration file, or the configuration file given by "PROPHET_APP_CONFIG" if that environmental variable is set.

aliases( $config_filename )

A convenience method that gets you a hash (or a hashref, depending on context) of all currently defined aliases. (Basically, every entry in the 'alias' section of the config file.)

If a filename is passed in, this method will only return the aliases that are defined in that particular config file.

sources

A convenience method that gets you a hash (or a hashref, depending on context) of all currently defined source replicas, in the format { 'name' => 'URL' }, or { 'URL' => 'name' } if the argument "by_url" is passed in.

CONFIG VARIABLES

The following config variables are currently used in various places in Prophet:

<record-type>.summary-format record.summary-format user.email-address alias.<alias>

SEE ALSO

Most of the useful methods for getting and setting configuration variables actually come from Config::GitLike. See that module's documentation for details.