File Coverage

blib/lib/MetaPOD/Result.pm
Criterion Covered Total %
statement 24 48 50.0
branch n/a
condition n/a
subroutine 8 18 44.4
pod 9 9 100.0
total 41 75 54.6


line stmt bran cond sub pod time code
1 3     3   13282 use 5.006; # our
  3         7  
2 3     3   12 use strict;
  3         4  
  3         67  
3 3     3   14 use warnings;
  3         2  
  3         255  
4              
5             package MetaPOD::Result;
6              
7             our $VERSION = 'v0.4.0';
8              
9             # ABSTRACT: Compiled aggregate result object for MetaPOD
10              
11             our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
12              
13              
14              
15              
16              
17              
18              
19              
20              
21              
22              
23              
24              
25 3     3   1169 use Moo qw( has );
  3         24086  
  3         19  
26 3     3   4769 use List::AllUtils qw( uniq );
  3         29191  
  3         1222  
27              
28              
29              
30              
31              
32              
33              
34             has namespace => (
35             is => ro =>,
36             required => 0,
37             lazy => 1,
38 0     0   0 builder => sub { undef },
39             writer => set_namespace =>,
40             reader => namespace =>,
41             );
42              
43             has inherits => (
44             is => ro =>,
45             required => 0,
46             lazy => 1,
47 0     0   0 builder => sub { [] },
48             writer => _set_inherits =>,
49             reader => _inherits =>,
50             );
51              
52             has does => (
53             is => ro =>,
54             required => 0,
55             lazy => 1,
56 0     0   0 builder => sub { [] },
57             writer => _set_does =>,
58             reader => _does =>,
59             );
60              
61             has interface => (
62             is => ro =>,
63             required => 0,
64             lazy => 1,
65 0     0   0 builder => sub { [] },
66             writer => _set_interface =>,
67             reader => _interface =>,
68             );
69              
70              
71              
72              
73              
74              
75              
76             sub inherits {
77 2     2 1 7 my $self = shift;
78 2         2 return @{ $self->_inherits };
  2         29  
79             }
80              
81              
82              
83              
84              
85              
86              
87             sub set_inherits {
88 1     1 1 1167 my ( $self, @inherits ) = @_;
89 1         9 $self->_set_inherits( [ uniq @inherits ] );
90 1         4 return $self;
91             }
92              
93              
94              
95              
96              
97              
98              
99             sub add_inherits {
100 1     1 1 513 my ( $self, @items ) = @_;
101 1         2 $self->_set_inherits( [ uniq @{ $self->_inherits }, @items ] );
  1         20  
102 1         12 return $self;
103             }
104              
105              
106              
107              
108              
109              
110              
111             sub does {
112 0     0 1   my $self = shift;
113 0           return @{ $self->_does };
  0            
114             }
115              
116              
117              
118              
119              
120              
121              
122             sub set_does {
123 0     0 1   my ( $self, @does ) = @_;
124 0           $self->_set_does( [ uniq @does ] );
125 0           return $self;
126             }
127              
128              
129              
130              
131              
132              
133              
134             sub add_does {
135 0     0 1   my ( $self, @items ) = @_;
136 0           $self->_set_does( [ uniq @{ $self->_does }, @items ] );
  0            
137 0           return $self;
138             }
139              
140              
141              
142              
143              
144              
145              
146             sub interface {
147 0     0 1   my $self = shift;
148 0           return @{ $self->_interface };
  0            
149             }
150              
151              
152              
153              
154              
155              
156              
157             sub set_interface {
158 0     0 1   my ( $self, @interfaces ) = @_;
159 0           $self->_set_interface( [ uniq @interfaces ] );
160 0           return $self;
161             }
162              
163              
164              
165              
166              
167              
168              
169             sub add_interface {
170 0     0 1   my ( $self, @items ) = @_;
171 0           $self->_set_interface( [ uniq @{ $self->_interface }, @items ] );
  0            
172 0           return $self;
173             }
174              
175             1;
176              
177             __END__