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

NAME

Object::Meta::Plugin::Useful::Generic - a generic useful plugin base class.

SYNOPSIS

        package MyFoo;
        use bas "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

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 with

            no warnings 'MyFoo';

    Or

            no warnings 'Object::Meta::Plugin::Useful::Generic';

    Depending on what level you'd like the warnings to be suppressed.

BUGS

  • Namespace is not well defined within the hash, nor is it guaranteed that it will never be extended.

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.