File Coverage

blib/lib/Net/DRI/DRD/US.pm
Criterion Covered Total %
statement 24 36 66.6
branch 1 4 25.0
condition n/a
subroutine 9 15 60.0
pod 4 9 44.4
total 38 64 59.3


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, .US policies
2             ##
3             ## Copyright (c) 2007,2008,2009 Tonnerre Lombard . All rights reserved.
4             ## (c) 2011,2013 Patrick Mevzek . All rights reserved.
5             ##
6             ## This file is part of Net::DRI
7             ##
8             ## Net::DRI is free software; you can redistribute it and/or modify
9             ## it under the terms of the GNU General Public License as published by
10             ## the Free Software Foundation; either version 2 of the License, or
11             ## (at your option) any later version.
12             ##
13             ## See the LICENSE file that comes with this distribution for more details.
14             ####################################################################################################
15              
16             package Net::DRI::DRD::US;
17              
18 2     2   1398 use strict;
  2         4  
  2         73  
19 2     2   10 use warnings;
  2         3  
  2         54  
20              
21 2     2   9 use base qw/Net::DRI::DRD/;
  2         2  
  2         599  
22              
23 2     2   13 use DateTime::Duration;
  2         4  
  2         31  
24 2     2   970 use Net::DRI::Data::Contact::US;
  2         4  
  2         19  
25              
26             =pod
27              
28             =head1 NAME
29              
30             Net::DRI::DRD::US - .US policies for Net::DRI
31              
32             =head1 DESCRIPTION
33              
34             Please see the README file for details.
35              
36             =head1 SUPPORT
37              
38             For now, support questions should be sent to:
39              
40             Enetdri@dotandco.comE
41              
42             Please also see the SUPPORT file in the distribution.
43              
44             =head1 SEE ALSO
45              
46             Ehttp://www.dotandco.com/services/software/Net-DRI/E
47              
48             =head1 AUTHOR
49              
50             Patrick Mevzek, Enetdri@dotandco.comE
51              
52             =head1 COPYRIGHT
53              
54             Copyright (c) 2007,2008,2009 Tonnerre Lombard Etonnerre.lombard@sygroup.chE.
55             (c) 2011,2013 Patrick Mevzek .
56             All rights reserved.
57              
58             This program is free software; you can redistribute it and/or modify
59             it under the terms of the GNU General Public License as published by
60             the Free Software Foundation; either version 2 of the License, or
61             (at your option) any later version.
62              
63             See the LICENSE file that comes with this distribution for more details.
64              
65             =cut
66              
67             ####################################################################################################
68              
69             sub new
70             {
71 1     1 0 2 my $class=shift;
72 1         8 my $self=$class->SUPER::new(@_);
73 1         8 $self->{info}->{host_as_attr}=0;
74 1         1 $self->{info}->{contact_i18n}=6; ## INT only or INT+LOC (but not LOC only)
75 1         2 return $self;
76             }
77              
78 0     0 1 0 sub periods { return map { DateTime::Duration->new(years => $_) } (1..10); }
  0         0  
79 1     1 1 2 sub name { return 'US'; }
80 1     1 1 3 sub tlds { return ('us'); }
81 0     0 1 0 sub object_types { return ('domain','contact','ns'); }
82 0     0 0 0 sub profile_types { return qw/epp whois/; }
83              
84             sub transport_protocol_default
85             {
86 1     1 0 1 my ($self,$type)=@_;
87              
88 1 50       4 return ('Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::US',{}) if $type eq 'epp';
89 0 0         return ('Net::DRI::Transport::Socket',{remote_host=>'whois.nic.us'},'Net::DRI::Protocol::Whois',{}) if $type eq 'whois';
90 0           return;
91             }
92              
93             sub set_factories
94             {
95 0     0 0   my ($self,$po)=@_;
96 0     0     $po->factories('contact',sub { return Net::DRI::Data::Contact::US->new(@_); });
  0            
97 0           return;
98             }
99              
100             ####################################################################################################
101              
102             sub verify_name_domain
103             {
104 0     0 0   my ($self,$ndr,$domain,$op)=@_;
105 0           return $self->_verify_name_rules($domain,$op,{check_name => 1,
106             my_tld => 1,
107             icann_reserved => 1,
108             });
109             }
110              
111             ####################################################################################################
112             1;