Joel Berger > Zoidberg-0.981 > Zoidberg::PluginHash

Download:
Zoidberg-0.981.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  3
View/Report Bugs
Module Version: 0.981   Source  

NAME ^

Zoidberg::PluginHash - Magic plugin loader

SYNOPSIS ^

        use Zoidberg::PluginHash;
        my %plugins;
        tie %plugins, q/Zoidberg::PluginHash/, $shell;
        $plugins{foo}->bar();

DESCRIPTION ^

Documentation about Zoidberg's plugin mechanism will be provided in an other document. FIXME tell where exactly.

This module hides some plugin loader stuff behind a transparent tie interface. You should regard the tied hash as a simple hash with object references. You can NOT store objects in the hash, all stored values are expected to be either a filename or a hash with meta data.

The $shell object is expected to be a hash containing at least the array $shell->{settings}{data_dirs} which contains the search path for plugin meta data. Config data for plugins is located in $shell->{settings}{plugin_name}. Commands and events as defined by the plugins are stored in $shell->{commands} and $shell->{events}. These two hashes are expected to be tied with class Zoidberg::DispatchTable.

Zoidberg::PluginHash depends on Zoidberg::Utils for reading files of various content types. Also it has special bindings for initialising Zoidberg::Fish objects.

AUTHOR ^

Jaap Karssenberg || Pardus [Larus] <pardus@cpan.org>

Copyright (c) 2011 Jaap G Karssenberg and Joel Berger. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO ^

Zoidberg, Zoidberg::Utils, Zoidberg::Fish, Zoidberg::DispatchTable

syntax highlighting: