Skip to content

Commit 00660df

Browse files
authored
Merge pull request #17 from tejr/arg-add-cleanup
Clean up argument adding code a little bit
2 parents 4aa2aee + da6fe80 commit 00660df

1 file changed

Lines changed: 13 additions & 16 deletions

File tree

lib/Monitoring/Plugin/Getopt.pm

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -382,27 +382,24 @@ sub arg
382382
my $self = shift;
383383
my %args;
384384

385-
# Named args
386-
if ($_[0] =~ m/^(spec|help|required|default|label)$/ && scalar(@_) % 2 == 0) {
387-
%args = validate( @_, {
388-
spec => 1,
389-
help => 1,
390-
default => 0,
385+
# Param name to required boolean
386+
my %params = (
387+
spec => 1,
388+
help => 1,
389+
default => 0,
391390
required => 0,
392-
label => 0,
393-
});
391+
label => 0,
392+
);
393+
394+
# Named args
395+
if (exists $params{$_[0]} && @_ % 2 == 0) {
396+
%args = validate( @_, \%params );
394397
}
395398

396399
# Positional args
397400
else {
398-
my @args = validate_pos(@_, 1, 1, 0, 0, 0);
399-
%args = (
400-
spec => $args[0],
401-
help => $args[1],
402-
default => $args[2],
403-
required => $args[3],
404-
label => $args[4],
405-
);
401+
my @order = qw(spec help default required label);
402+
@args{@order} = validate_pos(@_, @params{@order});
406403
}
407404

408405
# Add to private args arrayref

0 commit comments

Comments
 (0)