File Coverage

blib/lib/HTTP/MobileAgent/Plugin/ID.pm
Criterion Covered Total %
statement 13 15 86.6
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 18 20 90.0


line stmt bran cond sub pod time code
1             package HTTP::MobileAgent::Plugin::ID;
2              
3 1     1   38061 use warnings;
  1         3  
  1         36  
4 1     1   5 use strict;
  1         2  
  1         33  
5 1     1   4 use Carp;
  1         7  
  1         91  
6              
7 1     1   1132 use version; our $VERSION = qv('0.0.2');
  1         3008  
  1         6  
8 1     1   1003 use HTTP::MobileAgent::Plugin::XHTML;
  0            
  0            
9              
10             ##########################################
11             # Base Module
12              
13             package # hide from PAUSE
14             HTTP::MobileAgent;
15              
16             sub id {
17             my $self = shift;
18             $self->{__id} = $_[0] if (defined($_[0]));
19             $self->{__id} = $self->__id unless (defined($self->{__id}));
20             $self->{__id};
21             }
22              
23             sub __id{ }
24              
25             sub support_id { 0 }
26              
27             ##########################################
28             # DoCoMo Module
29              
30             package # hide from PAUSE
31             HTTP::MobileAgent::DoCoMo;
32              
33             sub __id { $_[0]->card_id || $_[0]->serial_number }
34              
35             sub support_id { $_[0]->html_version ? $_[0]->html_version > 2.0 ? 1 : 0 : 1 }
36              
37             ##########################################
38             # EZWeb Module
39              
40             package # hide from PAUSE
41             HTTP::MobileAgent::EZweb;
42              
43             sub __id { $_[0]->get_header('x-up-subno') }
44              
45             sub support_id { 1 }
46              
47             ##########################################
48             # SoftBank Module
49              
50             package # hide from PAUSE
51             HTTP::MobileAgent::Vodafone;
52              
53             sub __id {
54             if ($_[0]->is_type_c) {
55             return $_[0]->serial_number;
56             } else {
57             my $juid = $_[0]->get_header('x-jphone-uid');
58             if ($juid && $juid ne "") {
59             $juid =~ s/^.(.+)$/0$1/;
60             return $juid;
61             } else {
62             return;
63             }
64             }
65             }
66              
67             sub support_id { 1 }
68              
69             1; # Magic true value required at end of module
70             __END__