File Coverage

blib/lib/Catmandu/Fix/random.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 26 26 100.0


line stmt bran cond sub pod time code
1             package Catmandu::Fix::random;
2              
3 1     1   105110 use Catmandu::Sane;
  1         3  
  1         6  
4              
5             our $VERSION = '1.2020';
6              
7 1     1   435 use Catmandu::Util::Path qw(as_path);
  1         3  
  1         57  
8 1     1   7 use Moo;
  1         2  
  1         7  
9 1     1   370 use namespace::clean;
  1         3  
  1         5  
10 1     1   717 use Catmandu::Fix::Has;
  1         3  
  1         6  
11              
12             with 'Catmandu::Fix::Builder';
13              
14             has path => (fix_arg => 1);
15             has max => (fix_arg => 1);
16              
17             sub _build_fixer {
18 5     5   68 my ($self) = @_;
19 5         17 my $max = $self->max;
20 5     4   20 as_path($self->path)->creator(sub {int(rand($max))});
  4         148  
21             }
22              
23             1;
24              
25             __END__
26              
27             =pod
28              
29             =head1 NAME
30              
31             Catmandu::Fix::random - create an random number in a field
32              
33             =head1 SYNOPSIS
34              
35             # Add a new field 'foo' with a random value between 0 and 9
36             random(foo, 10)
37              
38             # Add a new field 'my.random.number' with a random value 0 or 1
39             random(my.random.number,2)
40            
41             =head1 SEE ALSO
42              
43             L<Catmandu::Fix>
44              
45             =cut