File Coverage

blib/lib/Net/DRI/DRD/PT.pm
Criterion Covered Total %
statement 27 40 67.5
branch 1 4 25.0
condition n/a
subroutine 10 16 62.5
pod 4 9 44.4
total 42 69 60.8


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