The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Goo::ConfigFile - Parse and load .goo files. Based loosely on .ini files.

SYNOPSIS

use Goo::ConfigFile;

DESCRIPTION

All Things have a corresponding ".goo" file based on their file suffix. Perl modules, for example, have the configuration file "pm.goo", scripts "pl.goo", Javascript files "js.goo", log files "log.goo" and Goo configuration files "goo.goo".

All .goo files are stored in the user's home directory: ~/.goo/things/goo/.

A .goo configuration file includes a list of actions (e.g., E[X]it) and an action handler (e.g., Exiter.pm). For file-based Things (see Goo::FileThing) the configuration file includes a "location" field(s) where Things of this type can be found.

For database Things (see Goo::DatabaseThing) the configuration file includes a "table" field where Things of this type can be found.

Each action specified in .goo file contain an action letter in square brackets (e.g., [E]dit). This letter can be used directly on the command line to invoke the action handler on the Thing (e.g., goo -e Object.pm).

METHODS

new

constructor

get_action_handler

return the action handler for a given command

has_locations

does it have any directory locations?

get_locations

return a list of all the directory locations found in the config file

parse

slurp in a .goo config file and parse it

write_to_file

very simplistic writer for single key value additions

get_program

return the program that handles an action

get_commands

return all the commands for this config file

has_table

does it have a database "table"?

AUTHOR

Nigel Hamilton <nigel@trexy.com>

SEE ALSO