File Coverage

lib/MetaPOD/Result.pm
Criterion Covered Total %
statement 28 52 53.8
branch n/a
condition n/a
subroutine 9 19 47.3
pod 9 9 100.0
total 46 80 57.5


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