File Coverage

blib/lib/Test/Requires/Scanner/Result.pm
Criterion Covered Total %
statement 20 20 100.0
branch 4 6 66.6
condition 3 5 60.0
subroutine 6 6 100.0
pod 0 2 0.0
total 33 39 84.6


line stmt bran cond sub pod time code
1             package Test::Requires::Scanner::Result;
2 3     3   21 use strict;
  3         8  
  3         135  
3 3     3   21 use warnings;
  3         7  
  3         125  
4              
5 3     3   3067 use version 0.77 ();
  3         8990  
  3         102  
6              
7             use Class::Accessor::Lite (
8 3         26 new => 1,
9 3     3   23 );
  3         8  
10              
11             sub modules {
12 40   100 40 0 470 shift->{modules} ||= {};
13             }
14              
15             sub save_module {
16 16     16 0 47 my ($self, $module, $version) = @_;
17              
18 16 100       28 if (exists $self->modules->{$module}) {
19 1 50       2 return unless $version;
20              
21 1         3 my $stored_version = $self->modules->{$module};
22              
23 1 50 33     5 if (
24             !$stored_version ||
25             version->parse($version) > version->parse($stored_version)
26             ) {
27 1         3 $self->modules->{$module} = $version;
28             }
29             }
30             else {
31 15         32 $self->modules->{$module} = $version;
32             }
33             }
34              
35             1;