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

NAME

PackageManager::Base - PackageManager::Virtual compositions with input validation.

VERSION

version 0.191250

SYNOPSIS

    if ( $obj->does('PackageManager::Base') ) {

        eval { $obj->install() };
        print "$@\n" if ($@);    # Required option 'name' is not provided...

        eval { $obj->list( verbose => 'abc' ) };
        print "$@\n" if ($@);    # Key 'verbose' (abc) is of invalid type...
    }

DESCRIPTION

A moose role that extends PackageManager::Virtual. It wraps all PackageManager::Virtual functions, validates the parameters and strips them of their names.

FUNCTIONS

All function parameters lose their name and the base function is invoked using a standard parameter array. The order of the parameters are the same as the order they appear in the original method definition. Except for verbose which has the default value 0, omitted optional parameters are undefined.

AUTHOR

Daniel Maurice Davis <Daniel.Maurice.Davis@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2019 by Daniel Maurice Davis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.