File Coverage

blib/lib/Data/Clean/ToNonStringyNumber.pm
Criterion Covered Total %
statement 20 20 100.0
branch n/a
condition 1 2 50.0
subroutine 7 7 100.0
pod 2 3 66.6
total 30 32 93.7


line stmt bran cond sub pod time code
1             package Data::Clean::ToNonStringyNumber;
2              
3             our $DATE = '2016-04-14'; # DATE
4             our $VERSION = '0.04'; # VERSION
5              
6 1     1   420 use 5.010001;
  1         2  
7 1     1   2 use strict;
  1         2  
  1         13  
8 1     1   3 use warnings;
  1         1  
  1         18  
9              
10 1     1   346 use parent qw(Data::Clean);
  1         261  
  1         4  
11              
12             sub command_replace_with_non_stringy_number {
13 1     1 0 610 require Scalar::Util::LooksLikeNumber;
14              
15 1         378 my ($self, $args) = @_;
16 1         2 return '{{var}} = Scalar::Util::LooksLikeNumber::looks_like_number({{var}}) =~ /\\A(?:1|5|9|13)\\z/ ? {{var}}+0 : {{var}}';
17             }
18              
19             sub new {
20 1     1 1 2 my ($class, %opts) = @_;
21 1   50     7 $opts{""} //= ['replace_with_non_stringy_number'];
22 1         11 $class->SUPER::new(%opts);
23             }
24              
25             sub get_cleanser {
26 1     1 1 13 my $class = shift;
27 1         4 state $singleton = $class->new;
28 1         521 $singleton;
29             }
30              
31             1;
32             # ABSTRACT: Convert stringy numbers in data to non-stringy numbers
33              
34             __END__