File Coverage

blib/lib/XML/SRS/GetMessages.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::GetMessages;
3             BEGIN {
4 1     1   2725 $XML::SRS::GetMessages::VERSION = '0.09';
5             }
6              
7 1     1   392 use Moose;
  0            
  0            
8             use PRANG::Graph;
9             use XML::SRS::Types;
10              
11             sub root_element {
12             "GetMessages";
13             }
14              
15             has_attr 'originating_registrar' =>
16             is => "ro",
17             isa => "Str",
18             xml_name => "OriginatingRegistrarId",
19             ;
20              
21             has_attr 'recipient_registrar' =>
22             is => "ro",
23             isa => "Str",
24             xml_name => "RecipientRegistrarId",
25             ;
26              
27             has_attr 'queue' =>
28             is => "ro",
29             isa => "Bool",
30             xml_name => "QueueMode",
31             ;
32              
33             has_element "when" =>
34             is => "ro",
35             isa => "ArrayRef[XML::SRS::Date::Range]",
36             xml_nodeName => "TransDateRange",
37             xml_required => 0,
38             ;
39              
40             has_attr 'max_results' =>
41             is => 'ro',
42             isa => 'XML::SRS::Number',
43             xml_name => 'MaxResults',
44             xml_required => 0,
45             ;
46              
47             use XML::SRS::GetMessages::TypeFilter;
48             use Moose::Util::TypeConstraints;
49              
50             # For some reason, we have to create this subtype
51             # Supposedly, it should work without it if we define the coercion
52             # after the 'has_element', but that generated a warning. Possible Moose bug?
53             subtype 'TypeFilterArrayRef' =>
54             as 'ArrayRef[XML::SRS::GetMessages::TypeFilter]';
55              
56             coerce 'TypeFilterArrayRef'
57             => from "ArrayRef[Str]"
58             => via {
59             [ map {
60             XML::SRS::GetMessages::TypeFilter->new(
61             Type => $_,
62             );
63             } @$_
64             ];
65             };
66              
67             has_element "type_filter" =>
68             is => "ro",
69             isa => "TypeFilterArrayRef",
70             xml_min => 0,
71             xml_nodeName => "TypeFilter",
72             coerce => 1,
73             ;
74              
75             with 'XML::SRS::Query';
76             1;