File Coverage

blib/lib/XML/SRS/Server/List.pm
Criterion Covered Total %
statement 2 4 50.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 4 6 66.6


line stmt bran cond sub pod time code
1              
2             package XML::SRS::Server::List;
3             BEGIN {
4 1     1   2356 $XML::SRS::Server::List::VERSION = '0.09';
5             }
6              
7 1     1   660 use Moose;
  0            
  0            
8             use PRANG::Graph;
9             use XML::SRS::Zone;
10              
11             use Moose::Util::TypeConstraints;
12              
13             use XML::SRS::Server;
14             has_element 'nameservers' =>
15             is => "rw",
16             isa => "ArrayRef[XML::SRS::Server]",
17             xml_nodeName => "Server",
18             required => 1,
19             ;
20              
21             coerce __PACKAGE__
22             => from 'ArrayRef[Str]'
23             => via {
24             __PACKAGE__->new(
25             nameservers => [
26             map {
27             XML::SRS::Server->new( fqdn => $_ );
28             } @$_
29             ],
30             );
31             };
32              
33             coerce __PACKAGE__
34             => from 'ArrayRef[HashRef]'
35             => via {
36             __PACKAGE__->new(
37             nameservers => [
38             map {
39             XML::SRS::Server->new($_);
40             } @$_
41             ],
42             );
43             };
44              
45             with 'XML::SRS::Node';
46              
47             1;
48              
49             __END__
50              
51             =head1 NAME
52              
53             XML::SRS::Server::List - Class representing an SRS name server list
54              
55             =head1 DESCRIPTION
56              
57             This class represents an SRS name server list
58              
59             =head1 ATTRIBUTES
60              
61             Each attribute of this class has an accessor/mutator of the same name as
62             the attribute. Additionally, they can be passed as parameters to the
63             constructor.
64              
65             =head2 nameservers
66              
67             Required. Returns an ArrayRef of XML::SRS::Server objects.
68             Maps to the XML element 'Server'.
69              
70             =head1 METHODS
71              
72             =head2 new(%params)
73              
74             Construct a new XML::SRS::Request object. %params specifies the initial
75             values of the attributes.
76              
77             =head1 COMPOSED OF
78              
79             L<XML::SRS::Node>