File Coverage

blib/lib/Catmandu/Fix/issn.pm
Criterion Covered Total %
statement 14 14 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 0 1 0.0
total 19 20 95.0


line stmt bran cond sub pod time code
1             package Catmandu::Fix::issn;
2              
3             our $VERSION = '0.13';
4              
5 1     1   83093 use Catmandu::Sane;
  1         156089  
  1         8  
6 1     1   821 use Business::ISSN;
  1         1242  
  1         46  
7 1     1   6 use Moo;
  1         1  
  1         7  
8 1     1   742 use Catmandu::Fix::Has;
  1         777  
  1         5  
9              
10             has path => (fix_arg => 1);
11              
12             with 'Catmandu::Fix::SimpleGetValue';
13              
14             sub emit_value {
15 5     5 0 12855 my ($self, $var) = @_;
16 5         22 "${var} = Business::ISSN->new(${var})->as_string if is_value(${var}) && length(${var});";
17             }
18              
19             =head1 NAME
20              
21             Catmandu::Fix::issn - normalize the issn value for a given key
22              
23             =head1 SYNOPSIS
24              
25             # Normalize the ISSN value of issn_field.
26             # e.g. issn_field => '1553667x'
27              
28             issn(issn_field) # issn_field => '1553-667X'
29              
30             =head1 SEE ALSO
31              
32             L<Catmandu::Fix>
33              
34             =cut
35              
36             1;