Why not adopt me?
This distribution is up for adoption!
If you're interested then please contact the PAUSE module admins via
email.
NAME
Bot::Cobalt::Core::Loader - Object loader/unloader
SYNOPSIS
use Try::Tiny;
require Bot::Cobalt::Core::Loader;
## Attempt to import a module:
my $plugin_obj = try {
Bot::Cobalt::Core::Loader->load($module_name, @args)
} catch {
# . . . load failed, maybe die with an error . . .
};
## Check reloadable status of a plugin object:
if ( Bot::Cobalt::Core::Loader->is_reloadable($plugin_obj) ) {
. . .
}
## Clean up a module after dropping a plugin object:
Bot::Cobalt::Core::Loader->unload($module_name);
DESCRIPTION
A small load/unload class for managing Bot::Cobalt plugins.
load
Given a module name in the form of 'My::Module', tries to load and instantiate the specified module view new()
.
Optional arguments can be specified to be passed to new()
:
$obj = Bot::Cobalt::Core::Loader->load($module_name, @args)
Throws an exception on error.
unload
Given a module name in the form of 'My::Module', tries to delete the module from %INC and clear relevant symbol table entries.
Always returns boolean true.
is_reloadable
Given a blessed object, checks to see if the plugin declares itself as NON_RELOADABLE. Returns boolean true if the object appears to be declared reloadable.
AUTHOR
Jon Portnoy <avenj@cobaltirc.org>