File Coverage

blib/lib/Unicode/Emoji/E4U.pm
Criterion Covered Total %
statement 23 24 95.8
branch n/a
condition n/a
subroutine 9 10 90.0
pod n/a
total 32 34 94.1


line stmt bran cond sub pod time code
1             =head1 NAME
2              
3             Unicode::Emoji::E4U - Emoji mappings based on emoji4unicode project
4              
5             =head1 SYNOPSIS
6              
7             use Unicode::Emoji::E4U;
8              
9             my $e4u = Unicode::Emoji::E4U->new;
10              
11             # fetch data files from Google Code (default)
12             $e4u->datadir('http://emoji4unicode.googlecode.com/svn/trunk/data/');
13              
14             # or load from local cached files
15             $e4u->datadir('data');
16              
17             my $docomo = $e4u->docomo; # Unicode::Emoji::DoCoMo instance
18             my $kddi = $e4u->kddi; # Unicode::Emoji::KDDI instance
19             my $softbank = $e4u->softbank; # Unicode::Emoji::SoftBank instance
20             my $google = $e4u->google; # Unicode::Emoji::Google instance
21              
22             my $kddiweb = $e4u->kddiweb; # alias to $e4u->kddi
23              
24             =head1 DESCRIPTION
25              
26             This module provides emoji picture characters cross-mapping table
27             base on emoji4unicode, Emoji for Unicode, project on Google Code:
28             L
29              
30             This has the following accessor methods.
31              
32             =head2 datadir
33              
34             To fetch data files from emoji4unicode project repository on Google Code. (default)
35              
36             $e4u->datadir('http://emoji4unicode.googlecode.com/svn/trunk/data/');
37              
38             To load data files cached on local path.
39              
40             $e4u->datadir('data');
41              
42             =head2 treepp
43              
44             This returns L instance to parse data files.
45              
46             $e4u->treepp->set(user_agent => 'Mozilla/4.0 (compatible; ...)');
47              
48             =head2 docomo
49              
50             This returns L instance.
51              
52             =head2 kddi
53              
54             This returns L instance.
55              
56             =head2 softbank
57              
58             This returns L instance.
59              
60             =head2 google
61              
62             This returns L instance.
63              
64             =head2 kddiweb
65              
66             This returns L instance as an alias for C.
67              
68             =head1 LINKS
69              
70             =over 4
71              
72             =item * Subversion Trunk
73              
74             L
75              
76             =item * Project Hosting on Google Code
77              
78             L
79              
80             =item * Google Groups and some Japanese documents
81              
82             L
83              
84             =item * RT: CPAN's request tracker
85              
86             L
87              
88             =item * AnnoCPAN: Annotated CPAN documentation
89              
90             L
91              
92             =item * Search CPAN
93              
94             L
95              
96             =back
97              
98             =head1 AUTHOR
99              
100             Yusuke Kawasaki, L
101              
102             =head1 SEE ALSO
103              
104             L
105              
106             =head1 COPYRIGHT
107              
108             Copyright 2009 Yusuke Kawasaki, all rights reserved.
109              
110             =cut
111              
112             package Unicode::Emoji::E4U;
113 7     7   276278 use Unicode::Emoji::Google;
  7         869  
  7         369  
114 7     7   94 use Unicode::Emoji::DoCoMo;
  7         13  
  7         165  
115 7     7   83 use Unicode::Emoji::KDDI;
  7         14  
  7         153  
116 7     7   37 use Unicode::Emoji::SoftBank;
  7         11  
  7         154  
117 7     7   32 use Any::Moose;
  7         12  
  7         43  
118             extends 'Unicode::Emoji::Base';
119             has google => (is => 'rw', isa => 'Unicode::Emoji::Google', lazy_build => 1);
120             has docomo => (is => 'rw', isa => 'Unicode::Emoji::DoCoMo', lazy_build => 1);
121             has kddi => (is => 'rw', isa => 'Unicode::Emoji::KDDI', lazy_build => 1);
122             has kddiweb => (is => 'rw', isa => 'Unicode::Emoji::KDDI', lazy_build => 1);
123             has softbank => (is => 'rw', isa => 'Unicode::Emoji::SoftBank', lazy_build => 1);
124              
125             our $VERSION = '0.03';
126              
127             sub _build_google {
128 3     3   1696 my $self = shift;
129 3         21 Unicode::Emoji::Google->new($self->clone_config);
130             }
131              
132             sub _build_docomo {
133 3     3   11496 my $self = shift;
134 3         35 Unicode::Emoji::DoCoMo->new($self->clone_config);
135             }
136              
137             sub _build_kddi {
138 3     3   1839 my $self = shift;
139 3         54 Unicode::Emoji::KDDI->new($self->clone_config);
140             }
141              
142             sub _build_kddiweb {
143 0     0   0 $_[0]->kddi; # alias
144             }
145              
146             sub _build_softbank {
147 3     3   1600 my $self = shift;
148 3         20 Unicode::Emoji::SoftBank->new($self->clone_config);
149             }
150              
151             __PACKAGE__->meta->make_immutable;