File Coverage

blib/lib/Net/DRI/DRD/puntCAT.pm
Criterion Covered Total %
statement 23 33 69.7
branch 1 4 25.0
condition n/a
subroutine 9 14 64.2
pod 4 8 50.0
total 37 59 62.7


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, puntCAT (.CAT) policies for Net::DRI
2             ##
3             ## Copyright (c) 2006,2008,2009,2011,2013,2016 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::puntCAT;
16              
17 2     2   1149 use strict;
  2         3  
  2         45  
18 2     2   7 use warnings;
  2         2  
  2         42  
19              
20 2     2   7 use base qw/Net::DRI::DRD/;
  2         1  
  2         662  
21              
22 2     2   12 use DateTime::Duration;
  2         15  
  2         43  
23 2     2   1018 use Net::DRI::Data::Contact::CAT;
  2         5  
  2         11  
24              
25             =pod
26              
27             =head1 NAME
28              
29             Net::DRI::DRD::puntCAT - puntCAT (.CAT) policies for Net::DRI
30              
31             =head1 DESCRIPTION
32              
33             Please see the README file for details.
34              
35             =head1 SUPPORT
36              
37             For now, support questions should be sent to:
38              
39             Enetdri@dotandco.comE
40              
41             Please also see the SUPPORT file in the distribution.
42              
43             =head1 SEE ALSO
44              
45             Ehttp://www.dotandco.com/services/software/Net-DRI/E
46              
47             =head1 AUTHOR
48              
49             Patrick Mevzek, Enetdri@dotandco.comE
50              
51             =head1 COPYRIGHT
52              
53             Copyright (c) 2006,2008,2009,2011,2013,2016 Patrick Mevzek .
54             All rights reserved.
55              
56             This program is free software; you can redistribute it and/or modify
57             it under the terms of the GNU General Public License as published by
58             the Free Software Foundation; either version 2 of the License, or
59             (at your option) any later version.
60              
61             See the LICENSE file that comes with this distribution for more details.
62              
63             =cut
64              
65             ####################################################################################################
66              
67             sub new
68             {
69 1     1 0 2 my $class=shift;
70 1         8 my $self=$class->SUPER::new(@_);
71 1         8 $self->{info}->{host_as_attr}=0;
72 1         3 return $self;
73             }
74              
75             ## The registry allows renewal as long as final date is less than 11 years in the future (10 years & 5 months would thus be ok)
76             ## We are currently more restrictive than that, see DRD::verify_duration_renew()
77 0     0 1 0 sub periods { return map { DateTime::Duration->new(years => $_) } (1..10); }
  0         0  
78 1     1 1 2 sub name { return 'puntCAT'; }
79 1     1 1 3 sub tlds { return ('cat'); }
80 0     0 1 0 sub object_types { return ('domain','contact','ns'); }
81 0     0 0 0 sub profile_types { return qw/epp whois/; }
82              
83             sub transport_protocol_default
84             {
85 1     1 0 2 my ($self,$type)=@_;
86              
87 1 50       5 return ('Net::DRI::Transport::Socket',{remote_host=>'epp.ote.puntcat.corenic.net'},'Net::DRI::Protocol::EPP::Extensions::CAT',{}) if $type eq 'epp';
88 0 0         return ('Net::DRI::Transport::Socket',{remote_host=>'whois.cat'},'Net::DRI::Protocol::Whois',{}) if $type eq 'whois';
89 0           return;
90             }
91              
92             sub set_factories
93             {
94 0     0 0   my ($self,$po)=@_;
95 0     0     $po->factories('contact',sub { return Net::DRI::Data::Contact::CAT->new(@_); });
  0            
96 0           return;
97             }
98              
99             ####################################################################################################
100             1;