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              
2             use Catmandu::Sane;
3 1     1   93331  
  1         3  
  1         6  
4             our $VERSION = '1.2018';
5              
6             use Catmandu::Util::Path qw(as_path);
7 1     1   468 use Moo;
  1         2  
  1         46  
8 1     1   5 use namespace::clean;
  1         2  
  1         6  
9 1     1   321 use Catmandu::Fix::Has;
  1         2  
  1         4  
10 1     1   614  
  1         2  
  1         5  
11             with 'Catmandu::Fix::Builder';
12              
13             has path => (fix_arg => 1);
14             has max => (fix_arg => 1);
15              
16             my ($self) = @_;
17             my $max = $self->max;
18 5     5   43 as_path($self->path)->creator(sub {int(rand($max))});
19 5         23 }
20 5     4   24  
  4         105  
21             1;
22              
23              
24             =pod
25              
26             =head1 NAME
27              
28             Catmandu::Fix::random - create an random number in a field
29              
30             =head1 SYNOPSIS
31              
32             # Add a new field 'foo' with a random value between 0 and 9
33             random(foo, 10)
34              
35             # Add a new field 'my.random.number' with a random value 0 or 1
36             random(my.random.number,2)
37            
38             =head1 SEE ALSO
39              
40             L<Catmandu::Fix>
41              
42             =cut