File Coverage

blib/lib/App/cpanm/meta/checker/State/Duplicates/Dist.pm
Criterion Covered Total %
statement 14 25 56.0
branch n/a
condition n/a
subroutine 5 10 50.0
pod 3 3 100.0
total 22 38 57.8


line stmt bran cond sub pod time code
1 4     4   470 use 5.006; # our
  4         10  
2 4     4   16 use strict;
  4         5  
  4         73  
3 4     4   15 use warnings;
  4         6  
  4         255  
4              
5             package App::cpanm::meta::checker::State::Duplicates::Dist;
6              
7             our $VERSION = '0.001002';
8              
9             # ABSTRACT: State information for recording seen versions of a single dist
10              
11             our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
12              
13 4     4   437 use Moo qw( has );
  4         9290  
  4         16  
14              
15              
16              
17              
18              
19             has 'reported' => (
20             is => rw =>,
21             lazy => 1,
22 0     0     builder => sub { return; },
23             );
24              
25              
26              
27              
28              
29             has 'versions' => (
30             is => ro =>,
31             lazy => 1,
32 0     0     builder => sub { return {} },
33             );
34              
35              
36              
37              
38              
39              
40              
41              
42              
43             sub has_duplicates {
44 0     0 1   my ($self) = @_;
45 0           return ( keys %{ $self->versions } > 1 );
  0            
46             }
47              
48              
49              
50              
51              
52              
53              
54              
55              
56             sub seen_version {
57 0     0 1   my ( $self, $version ) = @_;
58 0           $self->versions->{$version} = 1;
59 0           return;
60             }
61              
62              
63              
64              
65              
66              
67              
68              
69              
70             sub duplicate_versions {
71 0     0 1   my ($self) = @_;
72 0           return keys %{ $self->versions };
  0            
73             }
74              
75 4     4   2167 no Moo;
  4         6  
  4         16  
76              
77             1;
78              
79             __END__