File Coverage

blib/lib/Time/Random.pm
Criterion Covered Total %
statement 19 19 100.0
branch 12 12 100.0
condition n/a
subroutine 6 6 100.0
pod 1 1 100.0
total 38 38 100.0


line stmt bran cond sub pod time code
1             package Time::Random;
2 3     3   207924 use 5.006; use strict; use warnings; our $VERSION = '0.07';
  3     3   31  
  3     3   17  
  3         6  
  3         73  
  3         18  
  3         5  
  3         170  
3 3     3   1858 use Time::Piece;
  3         39018  
  3         14  
4 3     3   235 use base 'Import::Export';
  3         6  
  3         1568  
5             our %EX = (
6             time_random => [qw/all/],
7             );
8              
9             sub time_random {
10 106 100   106 1 58994 my %args = scalar @_ == 1 ? %{ $_[0] } : @_;
  2         9  
11             $args{$_} = $args{$_}
12             ? $args{strptime}
13             ? Time::Piece->strptime($args{$_}, $args{strptime})->epoch
14             : ref $args{$_}
15             ? $args{$_}->epoch()
16             : $args{$_}
17             : $_ eq 'to' ? time : ($args{to} - int(rand(86400)))
18 106 100       693 foreach qw/to from/;
    100          
    100          
    100          
19 106         1108 $args{time} = gmtime($args{to} - int(rand($args{to} - $args{from})));
20 106 100       5869 $args{strftime} ? $args{time}->strftime($args{strftime}) : $args{time};
21             }
22              
23             1;
24              
25             __END__