File Coverage

blib/lib/Catmandu/Fix/Condition/greater_than.pm
Criterion Covered Total %
statement 20 20 100.0
branch 1 2 50.0
condition n/a
subroutine 7 7 100.0
pod n/a
total 28 29 96.5


line stmt bran cond sub pod time code
1              
2             use Catmandu::Sane;
3 1     1   623  
  1         5  
  1         5  
4             our $VERSION = '1.2019';
5              
6             use Moo;
7 1     1   6 use Catmandu::Util qw(is_value);
  1         1  
  1         5  
8 1     1   310 use namespace::clean;
  1         2  
  1         38  
9 1     1   5 use Catmandu::Fix::Has;
  1         1  
  1         5  
10 1     1   309  
  1         2  
  1         7  
11             has path => (fix_arg => 1);
12             has value => (fix_arg => 1);
13              
14             with 'Catmandu::Fix::Condition::Builder::Simple';
15              
16             my ($self) = @_;
17             my $value = int($self->value);
18 2     2   17 sub {
19 2         8 my $v = $_[0];
20             is_value($v) && $v > $value;
21 4     4   6 };
22 4 50       86 }
23 2         11  
24             1;
25              
26              
27             =pod
28              
29             =head1 NAME
30              
31             Catmandu::Fix::Condition::greater_than - Execute fixes when a field is greater than a value
32              
33             =head1 SYNOPSIS
34              
35             # greater_than(X,Y) is true when X > Y
36             if greater_than('year','2018')
37             add_field('my.funny.title','true')
38             end
39              
40             # greater_than on arrays checks if all values are X > Y
41             if greater_than('years.*','2018')
42             add_field('my.funny.title','true')
43             end
44              
45             =head1 SEE ALSO
46              
47             L<Catmandu::Fix::Condition::less_than>
48              
49             =cut