File Coverage

blib/lib/String/Normal/Type/City.pm
Criterion Covered Total %
statement 22 22 100.0
branch 1 2 50.0
condition n/a
subroutine 6 6 100.0
pod 2 2 100.0
total 31 32 96.8


line stmt bran cond sub pod time code
1             package String::Normal::Type::City;
2 9     9   30 use strict;
  9         9  
  9         187  
3 9     9   23 use warnings;
  9         8  
  9         183  
4 9     9   26 use String::Normal::Type;
  9         9  
  9         111  
5 9     9   192 use String::Normal::Config;
  9         9  
  9         1237  
6              
7             our $address_stem;
8              
9             sub transform {
10 2     2 1 2 my ($self,$value) = @_;
11              
12 2         6 $value = String::Normal::Type::_scrub_value( $value );
13              
14             # TODO: refactor this code and remove dependencies on %address_stem
15             # single spaced records are guaranteed
16 2         3 my @tokens = ();
17 2         5 for my $token (split ' ', $value) {
18 4 50       7 $token = defined( $address_stem->{$token} ) ? $address_stem->{$token} : $token;
19 4         6 push @tokens, $token;
20             }
21              
22 2         9 $value = join ' ', @tokens;
23             }
24              
25             sub new {
26 1     1 1 2 my $self = shift;
27 1         3 $address_stem = String::Normal::Config::AddressStem::_data( @_ );
28 1         5 return bless {@_}, $self;
29             }
30              
31             1;
32              
33             __END__