File Coverage

blib/lib/Perinci/Sub/Property/hide_args.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition 1 3 33.3
subroutine 5 5 100.0
pod n/a
total 21 23 91.3


line stmt bran cond sub pod time code
1             package Perinci::Sub::Property::hide_args;
2              
3 1     1   64236 use 5.010001;
  1         6  
  1         450  
4 1     1   9 use strict;
  1         4  
  1         39  
5 1     1   5 use warnings;
  1         4  
  1         31  
6              
7 1     1   942 use Perinci::Sub::PropertyUtil qw(declare_property);
  1         6558  
  1         193  
8              
9             our $VERSION = '0.01'; # VERSION
10              
11             declare_property(
12             name => 'hide_args',
13             type => 'function',
14             schema => ['array' => of => 'str*'],
15             wrapper => {
16             meta => {
17             v => 2,
18             prio => 9, # before args
19             convert => 1,
20             },
21             handler => sub {
22 4     4   21017 my ($self, %args) = @_;
23              
24 4   33     24 my $v = $args{new} // $args{value};
25              
26 4         35 delete $self->{_meta}{args}{$_} for @$v;
27             },
28             },
29             );
30              
31             1;
32             # ABSTRACT: Hide arguments
33              
34             __END__