NAME
Smolder::Conf - Smolder configuration module
SYNOPSIS
# all configuration directives are available as exported subs
use Smolder::Conf qw(Secret Port);
$secret = Secret;
# you can also call get() in Smolder::Conf directly
$port = Smolder::Conf->get("Port");
# or you can access them as methods in the Smolder::Conf module
$port = Smolder::Conf->Port;
DESCRIPTION
This module provides access to the configuration settings in smolder.conf.
Full details on all configuration parameters is available in the configuration document, which you can find at docs/configuration.
METHODS
get_config
Class method that returns the underlying Config::ApacheFormat object.
get
Given a directive name, returns the value (which may be a list) of a configuration directive. Directive names are case-insensitive.
$value = Smolder::Conf->get("DirectiveName")
@values = Smolder::Conf->get("DirectiveName")
check
Sanity-check Smolder configuration. This will croak() with an error message if something is wrong with the configuration file.
This is run when the Smolder::Conf loads unless the environment variable "SMOLDER_CONF_NOCHECK" is set to a true value.
template_dir
The directory path for the templates for this install of Smolder
htdocs_dir
The directory path for the htdocs for this install of Smolder
sql_dir
The directory path for the raw SQL files for this install of Smolder
data_dir
The directory path for data directory for this install of Smolder
test_data_dir
The directory path for test data directory for this copy of Smolder
ACCESSOR METHODS
All configuration directives can be accessed as methods themselves.
my $port = Smolder::Conf->port();
Gets the value of a directive using an autoloaded method. Directive names are case-insensitive.
EXPORTING DIRECTIVES
Each configuration directive can also be accessed as an exported subroutine.
use Smolder::Conf qw(port FromAddress);
...
my $port = port();
my $from = FromAddress();
Directive names are case-insensitive. Gets the value of a variable using an exported, autoloaded method. Case-insensitive.