File Coverage

blib/lib/Data/Cleaner/Timeticks.pm
Criterion Covered Total %
statement 18 18 100.0
branch 2 2 100.0
condition 1 2 50.0
subroutine 7 7 100.0
pod n/a
total 28 29 96.5


line stmt bran cond sub pod time code
1             package Data::Cleaner::Timeticks;
2              
3 1     1   5 use strict;
  1         3  
  1         41  
4 1     1   4 use warnings;
  1         2  
  1         32  
5              
6 1     1   7 use Data::Types qw(is_float);
  1         10  
  1         56  
7 1     1   897 use Time::Interval qw(parseInterval);
  1         1450  
  1         207  
8              
9             our $VERSION = 0.0.2;
10             our $DEFAULT = 0;
11              
12             sub _validate {
13 2 100   2   8 is_float($_[1]) ? return ($_[1] / 100) : return undef;
14             }
15              
16             sub _fix {
17 1     1   6 return $_[0]->get_default;
18             }
19              
20             sub _format {
21 1     1   2 $_[1] =~ /\.(\d{1,3})/;
22 1   50     11 my $m = $1 || '0';
23 1         5 my $iraw = parseInterval(seconds => int($_[1]));
24 1         69 return sprintf '%dd %02d:%02d:%06.3f',
25             ($iraw->{'days'}, $iraw->{'hours'}, $iraw->{'minutes'}, $iraw->{'seconds'}.'.'.$m);
26             }
27              
28             1;
29              
30             __END__