File Coverage

blib/lib/Pad/Tie/Plugin.pm
Criterion Covered Total %
statement 21 22 95.4
branch n/a
condition 2 3 66.6
subroutine 5 6 83.3
pod 2 2 100.0
total 30 33 90.9


line stmt bran cond sub pod time code
1 1     1   6 use strict;
  1         2  
  1         28  
2 1     1   5 use warnings;
  1         1  
  1         25  
3              
4             package Pad::Tie::Plugin;
5              
6 1     1   5 use Data::OptList;
  1         20  
  1         12  
7 1     1   21 use Carp ();
  1         2  
  1         188  
8              
9             sub provides {
10 0     0 1 0 Carp::confess "subclass $_[0] did not override virtual method 'provides'";
11             }
12              
13             # input: ( [ foo => { -as => 'bar' } ], ... )
14             # return: { foo => 'bar', ... }
15             sub canon_args {
16 7     7 1 9 my ($plugin, $args) = @_;
17              
18 7         10 my %n;
19 7         8 my @args = @{ Data::OptList::mkopt($args) };
  7         21  
20 7         304 for (@args) {
21 7         16 my ($method, $xtra) = @$_;
22 7   66     31 my $name = $xtra->{-as} || $method;
23             #$name = "$xtra->{-prefix}$name" if $xtra->{-prefix};
24 7         26 $n{$method} = $name;
25             }
26 7         116 return \%n;
27             }
28              
29             1;
30              
31             __END__