File Coverage

blib/lib/Lingua/LO/Romanize/Types.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 20 20 100.0


line stmt bran cond sub pod time code
1             package Lingua::LO::Romanize::Types;
2              
3 1     1   1794 use strict;
  1         1  
  1         42  
4 1     1   5 use utf8;
  1         2  
  1         8  
5              
6 1     1   23 use Moose::Util::TypeConstraints;
  1         3  
  1         11  
7              
8 1     1   5984 use Lingua::LO::Romanize::Syllable;
  1         5  
  1         407  
9              
10             =encoding utf-8
11              
12             =head1 NAME
13              
14             Lingua::LO::Romanize::Types - Types used in Lingua::LO::Romanize
15              
16             =head1 VERSION
17              
18             Version 0.10
19              
20             =cut
21              
22             our $VERSION = '0.10';
23              
24             =head2 Lingua::LO::Romanize::Types::WordArr
25              
26             An array reference of Word
27              
28             =cut
29              
30             subtype 'Lingua::LO::Romanize::Types::WordArr'
31             => as 'ArrayRef[Lingua::LO::Romanize::Word]';
32              
33             coerce 'Lingua::LO::Romanize::Types::WordArr'
34             => from 'Str'
35             => via {
36             my $text_str = $_;
37             my $words;
38             foreach (split /\b/s, $text_str) {
39             push @$words, Lingua::LO::Romanize::Word->new(word_str => $_);
40             }
41             $words;
42             };
43              
44             =head2 Lingua::LO::Romanize::Types::SyllableArr
45              
46             An array reference of Syllable
47              
48             =cut
49              
50             subtype 'Lingua::LO::Romanize::Types::SyllableArr'
51             => as 'ArrayRef[Lingua::LO::Romanize::Syllable]';
52              
53             coerce 'Lingua::LO::Romanize::Types::SyllableArr'
54             => from 'ArrayRef[Str]'
55             => via {
56             my $arr_ref = $_;
57             my $syllables;
58             foreach (@$arr_ref) {
59             push @$syllables, Lingua::LO::Romanize::Syllable->new(syllable_str => $_);
60             }
61             $syllables;
62             };
63              
64 1     1   25 no Moose::Util::TypeConstraints;
  1         3  
  1         14  
65             1;