CLI-Driver

 view release on metacpan or  search on metacpan

lib/CLI/Driver/ArgParserRole.pm  view on Meta::CPAN

package CLI::Driver::ArgParserRole;

use Modern::Perl;
use Moose::Role;
use namespace::autoclean;
use Kavorka '-all';
use Data::Printer alias => 'pdump';

#########################################################################################

#########################################################################################

=pod orig

method _parse_req_args (HashRef :$type_href) {

    my @ret;

    foreach my $subtype ( keys %$type_href ) {

        my $hard;
        if ( $subtype eq 'hard' ) {
            $hard = 1;
        }
        elsif ( $subtype eq 'soft' ) {
            $hard = 0;
        }
        else {
            $self->warn("unrecognized required arg subtype: $subtype");
        }

        my $subtype_href = $type_href->{$subtype};

        foreach my $cli_arg ( keys %$subtype_href ) {

            my $method_arg = $subtype_href->{$cli_arg};
            my $opt        = CLI::Driver::Option->new(
                required   => 1,
                hard       => $hard,
                cli_arg    => $cli_arg,
                method_arg => $method_arg
            );

            push @ret, $opt;
        }
    }

    return @ret;
}

=cut

# synonym for _parse_req_args
method _parse_req_attrs (HashRef :$type_href) {

    return $self->_parse_req_args(@_);
}

method _parse_req_args (HashRef :$type_href) {

    my @ret;

    foreach my $cli_arg ( keys %$type_href ) {

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.438 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )