File Coverage

blib/lib/HTTP/MobileAttribute/Plugin/UserID.pm
Criterion Covered Total %
statement 47 47 100.0
branch 16 16 100.0
condition 9 9 100.0
subroutine 15 15 100.0
pod 0 6 0.0
total 87 93 93.5


line stmt bran cond sub pod time code
1             package HTTP::MobileAttribute::Plugin::UserID;
2 4     4   3539 use strict;
  4         9  
  4         154  
3 4     4   22 use warnings;
  4         11  
  4         135  
4 4     4   22 use base qw/HTTP::MobileAttribute::Plugin/;
  4         8  
  4         32  
5              
6             __PACKAGE__->depends([qw/IS IS::ThirdForce/]);
7              
8             sub thirdforce :CarrierMethod('ThirdForce', 'user_id') {
9 4     4 0 46 my ($self, $c) = @_;
10 4         6 my $id;
11 4 100       23 $id = $c->serial_number if $self->config->{fallback};
12 4 100       27 $c->request->get('x-jphone-uid') || $id;
13 4     4   4939 }
  4         6040  
  4         26  
14              
15             sub ezweb :CarrierMethod('EZweb', 'user_id') {
16 4     4 0 48 my ($self, $c) = @_;
17 4         15 $c->request->get('x-up-subno');
18 4     4   1962 }
  4         152  
  4         25  
19              
20             sub docomo_default :CarrierMethod('DoCoMo', 'user_id') {
21 17     17 0 236 my ($self, $c, $req) = @_;
22 17         21 my $id;
23 17 100       101 if ($self->config->{fallback}) {
24 12         150 $id = $c->serial_number;
25 12 100 100     38 $id .= ',' . $c->card_id if $self->config->{fallback_with_cardid} && $c->card_id;
26             }
27 17 100 100     140 $self->docomo_uid($c, $req) || $self->docomo_guid($c) || $id;
28 4     4   1652 }
  4         9  
  4         22  
29              
30             sub docomo_uid :CarrierMethod('DoCoMo', 'uid') {
31 17     17 0 33 my ($self, $c, $req) = @_;
32 17         24 my $uid;
33 17 100       72 $uid = $req->param('uid') if $req;
34 17 100       67 $c->request->get('x-docomo-uid') || $uid;
35 4     4   1303 }
  4         10  
  4         40  
36              
37             sub docomo_guid :CarrierMethod('DoCoMo', 'guid') {
38 11     11 0 23 my ($self, $c) = @_;
39 11         40 $c->request->get('x-dcmguid');
40 4     4   1212 }
  4         10  
  4         19  
41              
42             sub supports_user_id :Method {
43 6     6 0 35 my ($self, $c) = @_;
44              
45 6 100 100     22 return ( $c->is_ezweb || ($c->is_thirdforce && !$c->is_type_c) || $c->is_docomo ) ? 1 : 0;
46 4     4   1070 }
  4         43  
  4         18  
47              
48             1;
49             __END__