File Coverage

blib/lib/Dist/Zilla/Plugin/ChangesFromYaml/Convert.pm
Criterion Covered Total %
statement 26 26 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 33 34 97.0


line stmt bran cond sub pod time code
1             #!/usr/bin/env perl
2             package Dist::Zilla::Plugin::ChangesFromYaml::Convert;
3             our $VERSION = '0.001'; # TRIAL VERSION
4              
5 1     1   24 use 5.010;
  1         2  
6 1     1   3 use strict;
  1         1  
  1         18  
7 1     1   3 use warnings;
  1         2  
  1         24  
8 1     1   423 use YAML::XS;
  1         2008  
  1         44  
9 1     1   396 use CPAN::Changes;
  1         5812  
  1         29  
10 1     1   5 use Exporter 'import';
  1         1  
  1         132  
11             our @EXPORT_OK = qw(convert);
12              
13             sub convert {
14 1     1 0 461 my ($changes_yml) = @_;
15 1         8 my $changes = CPAN::Changes->new;
16              
17 1         113 my @releases = Load( $changes_yml );
18              
19 1         3 for (@releases) {
20             my $rel = CPAN::Changes::Release->new(
21             version => $_->{version},
22             date => $_->{date},
23 3         34 );
24              
25 3         13 $rel->add_changes($_) for @{ $_->{changes} };
  3         11  
26 3         80 $changes->add_release($rel);
27             }
28 1         10 return $changes->serialize;
29             }