Show
Ignore:
Timestamp:
07/25/08 18:04:21 (5 years ago)
Author:
tomi-ru
Message:
  • Mail::Address::MobileJpと分離
  • こちらでは古いモバイルメアドはNonMobile扱いとする
Location:
lang/perl/Email-Address-JP-Mobile/trunk
Files:
1 removed
9 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Email-Address-JP-Mobile/trunk/Makefile.PL

    r16414 r16418  
    66requires 'Encode'; 
    77requires 'Encode::JP::Mobile', 0.26; 
    8 requires 'Mail::Address::MobileJp'; 
     8requires 'Email::Address::Loose'; 
    99requires 'Module::Pluggable'; 
    1010 
  • lang/perl/Email-Address-JP-Mobile/trunk/lib/Email/Address/JP/Mobile.pm

    r16414 r16418  
    44our $VERSION = '0.01'; 
    55 
     6use Email::Address::Loose; 
    67use Module::Pluggable( 
    78    search_path => __PACKAGE__, 
     
    1213sub new { 
    1314    my $self = bless {}, shift; 
    14     my $address = shift || ""; 
     15    my $address = shift; 
    1516     
     17    if (! ref($address) || ! $address->isa('Email::Address')) { 
     18        ($address) = Email::Address::Loose->parse($address); 
     19    } 
     20     
     21    return unless $address; 
     22      
    1623    my @module = 
    1724        sort { $b->matches($address) <=> $a->matches($address) } 
     
    1926        grep { $_->isa('Email::Address::JP::Mobile::Base') } 
    2027        $self->plugins; 
    21       
     28     
    2229    shift @module; 
    2330} 
  • lang/perl/Email-Address-JP-Mobile/trunk/lib/Email/Address/JP/Mobile/AirH.pm

    r16414 r16418  
    22use strict; 
    33use warnings; 
    4 use base 'Email::Address::JP::Mobile::IsMobile'; 
     4use base 'Email::Address::JP::Mobile::Base'; 
     5 
     6my $regex = qr/^(?: 
     7pdx\.ne\.jp| 
     8d.\.pdx\.ne\.jp| 
     9wm\.pdx\.ne\.jp 
     10)$/x; 
    511 
    612sub matches { 
    7     Mail::Address::MobileJp::is_mobile_jp($_[1]) && $_[1] =~ /pdx\.ne\.jp$/ ? 10 : 0; 
     13    $_[1]->host =~ $regex ? 10 : 0; 
    814} 
    915 
     
    1117 
    1218sub carrier_letter { 'H' } 
     19 
     20sub is_mobile { 1 } 
    1321 
    1422sub mime_encoding { 
     
    6270L<http://www.willcom-inc.com/> 
    6371 
     72L<http://www.willcom-inc.com/ja/service/e_mail/spec/index.html> 
     73 
    6474=head1 AUTHOR 
    6575 
  • lang/perl/Email-Address-JP-Mobile/trunk/lib/Email/Address/JP/Mobile/Base.pm

    r16414 r16418  
    44 
    55use Encode; 
     6use Encode::JP::Mobile; 
    67 
    78sub new { 
  • lang/perl/Email-Address-JP-Mobile/trunk/lib/Email/Address/JP/Mobile/DoCoMo.pm

    r16414 r16418  
    22use strict; 
    33use warnings; 
    4 use base 'Email::Address::JP::Mobile::IsMobile'; 
     4use base 'Email::Address::JP::Mobile::Base'; 
     5 
     6my $regex = qr/^(?: 
     7docomo\.ne\.jp 
     8)$/x; 
    59 
    610sub matches { 
    7     Mail::Address::MobileJp::is_imode($_[1]) ? 10 : 0; 
     11    $_[1]->host =~ $regex ? 10 : 0; 
    812} 
    913 
     
    1115 
    1216sub carrier_letter { 'I' } 
     17 
     18sub is_mobile { 1 } 
    1319 
    1420sub mime_encoding { 
  • lang/perl/Email-Address-JP-Mobile/trunk/lib/Email/Address/JP/Mobile/EZweb.pm

    r16414 r16418  
    22use strict; 
    33use warnings; 
    4 use base 'Email::Address::JP::Mobile::IsMobile'; 
     4use base 'Email::Address::JP::Mobile::Base'; 
     5 
     6my $regex = qr/^(?: 
     7ezweb\.ne\.jp| 
     8.*\.ezweb\.ne\.jp 
     9)$/x; 
    510 
    611sub matches { 
    7     Mail::Address::MobileJp::is_ezweb($_[1]) ? 10 : 0; 
     12    $_[1]->host =~ $regex ? 10 : 0; 
    813} 
    914 
     
    1116 
    1217sub carrier_letter { 'E' } 
     18 
     19sub is_mobile { 1 } 
    1320 
    1421sub mime_encoding { 
  • lang/perl/Email-Address-JP-Mobile/trunk/lib/Email/Address/JP/Mobile/SoftBank.pm

    r16414 r16418  
    22use strict; 
    33use warnings; 
    4 use base 'Email::Address::JP::Mobile::IsMobile'; 
     4use base 'Email::Address::JP::Mobile::Base'; 
     5 
     6my $regex = qr/^(?: 
     7jp\-[dhtckrnsq]\.ne\.jp| 
     8[dhtckrnsq]\.vodafone\.ne\.jp| 
     9softbank\.ne\.jp| 
     10disney.ne.jp 
     11)$/x; 
    512 
    613sub matches { 
    7     Mail::Address::MobileJp::is_vodafone($_[1]) ? 10 : 0; 
     14    $_[1]->host =~ $regex ? 10 : 0; 
    815} 
    916 
     
    1118 
    1219sub carrier_letter { 'V' } 
     20 
     21sub is_mobile { 1 } 
    1322 
    1423sub mime_encoding { 
     
    6271L<http://mb.softbank.jp/> 
    6372 
     73L<http://mb.softbank.jp/mb/service/3G/mail/s_mail/>, L<http://disneymobile.jp/mail/> 
     74 
    6475=head1 AUTHOR 
    6576 
  • lang/perl/Email-Address-JP-Mobile/trunk/t/01_mobile.t

    r16414 r16418  
    44use Email::Address::JP::Mobile; 
    55 
     6my @non_email = ( 
     7    'foo@', 
     8    '@bar', 
     9); 
     10 
    611my @non_mobile = ( 
    712    'foo@example.com', 
    813    'foo@dxx.pdx.ne.jp', 
     14    'foo@mnx.ne.jp', 
     15    'foo@bar.mnx.ne.jp', 
     16    'foo@dct.dion.ne.jp', 
     17    'foo@sky.tu-ka.ne.jp', 
     18    'foo@bar.sky.tkc.ne.jp', 
     19    'foo@em.nttpnet.ne.jp', 
     20    'foo@bar.em.nttpnet.ne.jp', 
     21    'foo@phone.ne.jp', 
     22    'foo@bar.mozio.ne.jp', 
     23    'foo@p1.foomoon.com', 
     24    'foo@x.i-get.ne.jp', 
     25    'foo@ez1.ido.ne.jp', 
     26    'foo@cmail.ido.ne.jp', 
    927); 
    1028 
     
    3553); 
    3654 
    37 my @is_mobile_but_old = ( 
    38     'foo@mnx.ne.jp', 
    39     'foo@bar.mnx.ne.jp', 
    40     'foo@dct.dion.ne.jp', 
    41     'foo@sky.tu-ka.ne.jp', 
    42     'foo@bar.sky.tkc.ne.jp', 
    43     'foo@em.nttpnet.ne.jp', 
    44     'foo@bar.em.nttpnet.ne.jp', 
    45     'foo@phone.ne.jp', 
    46     'foo@bar.mozio.ne.jp', 
    47     'foo@p1.foomoon.com', 
    48     'foo@x.i-get.ne.jp', 
    49     'foo@ez1.ido.ne.jp', 
    50     'foo@cmail.ido.ne.jp', 
    51 ); 
    52  
    5355my @is_mobile = ( 
    5456    @docomo, 
     
    5658    @softbank, 
    5759    @willcom, 
    58     @is_mobile_but_old, 
    5960); 
     61 
     62for my $address (@non_email) { 
     63    my $carrier = Email::Address::JP::Mobile->new($address); 
     64    is $carrier, undef, $address; 
     65} 
    6066 
    6167for my $address (@non_mobile) { 
     
    6773    ok $carrier->mime_encoding->can('encode'); 
    6874    ok $carrier->mail_encoding->can('encode'); 
    69  
    7075    is $carrier->mime_encoding->name, 'MIME-Header'; 
    7176    is $carrier->mail_encoding->name, 'utf-8-strict'; 
     
    7984    my $carrier = Email::Address::JP::Mobile->new($address); 
    8085    ok $carrier->is_mobile, $address; 
    81 } 
    82  
    83 for my $address (@is_mobile_but_old) { 
    84     my $carrier = Email::Address::JP::Mobile->new($address); 
    85     ok $carrier->is_mobile, $address; 
    86      
    87     is $carrier->name, 'IsMobile', $address; 
    88     is $carrier->carrier_letter, '', $address; 
    89      
    90     ok $carrier->mime_encoding->can('encode'); 
    91     ok $carrier->mail_encoding->can('encode'); 
    92     is $carrier->mime_encoding->name, 'MIME-Header-ISO_2022_JP'; 
    93     is $carrier->mail_encoding->name, 'iso-2022-jp'; 
    9486} 
    9587 
  • lang/perl/Email-Address-JP-Mobile/trunk/t/02_emailaddress.t

    r16414 r16418  
    11use strict; 
    2 use Test::More tests => 2; 
     2use Test::More tests => 4; 
    33 
    44use Email::Address; 
     
    88isa_ok $email->carrier, 'Email::Address::JP::Mobile::DoCoMo'; 
    99is $email->carrier->name, 'DoCoMo'; 
     10 
     11my $carrier = Email::Address::JP::Mobile->new($email); 
     12isa_ok $carrier, 'Email::Address::JP::Mobile::DoCoMo'; 
     13is $carrier->name, 'DoCoMo'; 
     14