Take me over?
NAME
Object::Meta::Plugin::Useful::Generic - A generic useful plugin base class.
SYNOPSIS
package MyFoo;
use base "Object::Meta::Plugin::Useful::Generic";
sub new {
my $pkg = shift;
my $self = $pkg->SUPER::new(@_);
$self->export(qw/foo bar/);
}
sub foo {
# ...
}
sub bar {
# ...
}
DESCRIPTION
This provides a very simple base class for a plugin. It uses the method export
to explicitly mark a method name for exporting. When Object::Meta::Plugin::Useful's init
hits
METHODS
- exports
-
Returns the list of method names as created by
export
. - export METHODS ...
-
This method takes a list of method names, and makes sure they are all implemented (
$self-
can($method)>) and so forth. It then makes notes of what remains, and will return these values when the exports method is called by the standard export list implementation.
CAVEATS
Will emit warnings if lexical warnings are asked for. It will bark when
$self-
can($method)> is not happy. You can suppress it withno warnings 'MyFoo';
Or whatever.
This also means that you will need to
use warnings::register;
The errors are not fatal like they are in Object::Meta::Plugin::Host, because this plugin implementation does not need to be necessarily plugged into the Object::Meta::Plugin::Host implementation.
BUGS
Nothing I know of.
TODO
Nothing right now.
ACKNOWLEDGMENTS
COPYRIGHT & LICENSE
Copyright 2003 Yuval Kogman. All rights reserved.
This program is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
AUTHOR
Yuval Kogman <nothingmuch@woobling.org>
SEE ALSO
Object::Meta::Plugin, Object::Meta::Plugin::Useful, Object::Meta::Plugin::Useful::Meta, Object::Meta::Plugin::Useful::Greedy.