NAME

App::Framework::Base - Application feature

SYNOPSIS

use App::Framework::Base ;

DESCRIPTION

Base object for all application objects (core/extensions/features etc)

FIELDS

The following fields should be defined either in the call to 'new()', as part of a 'set()' call, or called by their accessor method (which is the same name as the field):

requires - list of required modules

ARRAY ref of a list of module names that are required to be loaded by this object.

loaded - list of which modules have been loaded

HASH containing the modules loaded (used as key), with the value set to 1 if the module loaded ok; 0 otherwise

requires_ok - all required modules are ok

Flag that is set if all required modules loaded correctly

CONSTRUCTOR

new([%args])

Create a new feature.

The %args are specified as they would be in the set method.

CLASS METHODS

init_class([%args])

Initialises the object class variables.

expand_keys($hash_ref, $vars_aref)

Processes all of the HASH values, replacing any variables with their contents. The variable values are taken from the ARRAY ref $vars_aref, which is an array of hashes. Each hash containing variable name / variable value pairs.

The HASH values being expanded can be either scalar, or an ARRAY ref. In the case of the ARRAY ref each ARRAY entry must be a scalar (e.g. an array of file lines).

DIAGNOSTICS

Setting the debug flag to level 1 prints out (to STDOUT) some debug messages, setting it to level 2 prints out more verbose messages.

AUTHOR

Steve Price <sdprice at cpan.org>

BUGS

None that I know of!