File Coverage

blib/lib/WWW/Shopify/Liquid/Filter/DateParse.pm
Criterion Covered Total %
statement 22 24 91.6
branch 2 4 50.0
condition n/a
subroutine 8 8 100.0
pod 0 3 0.0
total 32 39 82.0


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2 37     37   15071 use strict;
  37         112  
  37         1116  
3 37     37   239 use warnings;
  37         105  
  37         1450  
4              
5             package WWW::Shopify::Liquid::Filter::DateParse;
6 37     37   464 use base 'WWW::Shopify::Liquid::Filter';
  37         101  
  37         4010  
7 37     37   12457 use Date::Parse;
  37         251314  
  37         5349  
8 37     37   17819 use DateTime::Format::Strptime;
  37         17588347  
  37         300  
9              
10 8     8 0 68 sub min_arguments { return 0; }
11 16     16 0 94 sub max_arguments { return 1; }
12             sub operate {
13 4     4 0 21 my ($self, $hash, $operand, $pattern) = @_;
14 4 50       20 if ($pattern) {
15 0         0 my $strp = DateTime::Format::Strptime->new(pattern => $pattern);
16 0         0 return $strp->parse_datetime($operand);
17             }
18 4         32 my $result = str2time($operand, "UTC");
19 4 50       2325 return undef unless $result;
20 4         58 return DateTime->from_epoch( epoch => $result, time_zone => "floating" );
21             }
22              
23             1;