File Coverage

blib/lib/EWS/DistributionList/ResultSet.pm
Criterion Covered Total %
statement 13 24 54.1
branch 0 2 0.0
condition n/a
subroutine 5 8 62.5
pod 1 2 50.0
total 19 36 52.7


line stmt bran cond sub pod time code
1             package EWS::DistributionList::ResultSet;
2             BEGIN {
3 1     1   23 $EWS::DistributionList::ResultSet::VERSION = '1.143070';
4             }
5 1     1   5 use Moose;
  1         1  
  1         6  
6 1     1   4909 use MooseX::Iterator;
  1         2  
  1         25  
7              
8 1     1   496 use EWS::DistributionList::Mailbox;
  1         2  
  1         211  
9              
10             has mailboxes => (
11             is => 'ro',
12             isa => 'ArrayRef[EWS::DistributionList::Mailbox]',
13             required => 1,
14             );
15              
16             sub BUILDARGS {
17 0     0 1   my ( $class, @rest ) = @_;
18 0 0         my $params = ( scalar @rest == 1 ? $rest[0] : {@rest} );
19              
20             # promote hashes returned from Exchange into Item objects
21 0           $params->{mailboxes} = [ map { EWS::DistributionList::Mailbox->new($_) } @{ $params->{mailboxes} } ];
  0            
  0            
22 0           return $params;
23             }
24              
25             sub count {
26 0     0 0   my $self = shift;
27 0           return scalar @{ $self->mailboxes };
  0            
28             }
29              
30             has iterator => (
31             is => 'ro',
32             isa => 'MooseX::Iterator::Array',
33             handles => [
34             qw/
35             next
36             has_next
37             peek
38             reset
39             /
40             ],
41             lazy_build => 1,
42             );
43              
44             sub _build_iterator {
45 0     0     my $self = shift;
46 0           return MooseX::Iterator::Array->new( collection => $self->mailboxes );
47             }
48              
49             __PACKAGE__->meta->make_immutable;
50 1     1   8 no Moose;
  1         2  
  1         5  
51             1;