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   384542 use 5.006; use strict; use warnings; our $VERSION = '1.02';
  3     3   13  
  3     3   19  
  3         21  
  3         117  
  3         66  
  3         14  
  3         312  
3 3     3   2187 use Time::Piece;
  3         62628  
  3         17  
4 3     3   329 use base 'Import::Export';
  3         7  
  3         2966  
5             our %EX = (
6             time_random => [qw/all/],
7             );
8              
9             sub time_random {
10 106 100   106 1 580514 my %args = scalar @_ == 1 ? %{ $_[0] } : @_;
  2         10  
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       911 foreach qw/to from/;
    100          
    100          
    100          
19 106         1261 $args{time} = gmtime($args{to} - int(rand($args{to} - $args{from})));
20 106 100       7709 $args{strftime} ? $args{time}->strftime($args{strftime}) : $args{time};
21             }
22              
23             1;
24              
25             __END__