File Coverage

blib/lib/Parse/CPAN/Modlist/Module.pm
Criterion Covered Total %
statement 12 15 80.0
branch n/a
condition n/a
subroutine 4 5 80.0
pod 1 1 100.0
total 17 21 80.9


line stmt bran cond sub pod time code
1             package Parse::CPAN::Modlist::Module;
2 3     3   13 use strict;
  3         5  
  3         88  
3 3     3   11 use vars qw($VERSION);
  3         4  
  3         91  
4 3     3   2509 use Class::Accessor::Fast;
  3         11971  
  3         35  
5 3     3   112 use base qw(Class::Accessor::Fast);
  3         8  
  3         791  
6             $VERSION = '0.1';
7              
8             =pod
9              
10             =head1 NAME
11              
12             Parse::CPAN::Modlist::Module - object representation of a single module in the 03modlist.data file
13              
14             =head1 SYNOPSIS
15              
16             use Parse::CPAN::Modlist;
17              
18              
19             my $p = Parse::CPAN::Modlist->new("t/data/03modlist.data");
20              
21              
22             foreach my $name ($p->modules) {
23             my $module = $p->module($name);
24             print " The module '".$module->name."'".
25             " is written by ".$module->author.
26             " and is described as '".$module->description.
27             "'\n";
28             }
29              
30              
31              
32             =head1 METHODS
33              
34             The methods are automatically generated from the columns in C<03modlist.data>
35             so it's possible that this documentation amy actually be wrong. Please let me
36             know if this happens.
37              
38             =cut
39              
40             sub new {
41 0     0 1   my $class = shift;
42 0           my $self = $class->SUPER::new;
43 0           return $self;
44             }
45              
46              
47              
48             =pod
49              
50             =head2 name
51              
52             The name of this module (an alias to modid - the actual column name).
53              
54             =cut
55              
56             *name = \&modid;
57              
58              
59             =head2 author
60              
61             The author's CPAN id (an alias to userid - the actual column name).
62              
63             =cut
64              
65             *author = \&userid;
66              
67             =head2 description
68              
69             A description of the module
70              
71             =head2 chapter
72              
73             The category that this module falls under (an alias to chapterid - the actual column name).
74              
75             See http://www.cpan.org/modules/by-category/ for the categories.
76              
77             =cut
78              
79             *chapter = \&chapterid;
80              
81             =head1 DSLIP methods
82              
83             DSLIP characters are intended to convey information about the current state of the module.
84              
85              
86             See http://www.cpan.org/modules/00modlist.long.html#ID1_ModuleListi for details
87              
88             =head2 d - Development Stage (Note: *NO IMPLIED TIMESCALES*):
89              
90             =over 4
91              
92             =item i
93              
94             Idea, listed to gain consensus or as a placeholder
95              
96             =item c
97              
98             under construction but pre-alpha (not yet released)
99              
100             =item a/b
101              
102             Alpha/Beta testing
103              
104             =item R
105              
106             Released
107              
108             =item M
109              
110             Mature (no rigorous definition)
111              
112             =item S
113              
114             Standard, supplied with Perl 5
115              
116             =back
117              
118             =cut
119              
120             *d = \&statd;
121              
122             =pod
123              
124             =head2 s - Support Level:
125              
126             =over 4
127              
128             =item m
129              
130             Mailing-list
131              
132             =item d
133              
134             Developer
135              
136             =item u
137              
138             Usenet newsgroup comp.lang.perl.modules
139              
140             =item n
141              
142             None known, try comp.lang.perl.modules
143              
144             =back
145              
146             =cut
147              
148             *s = \&stats;
149              
150             =pod
151              
152             =head2 l - Language Used:
153            
154             =over 4
155              
156             =item p
157              
158             Perl-only, no compiler needed, should be platform independent
159              
160             =item c
161              
162             C and perl, a C compiler will be needed
163              
164             =item h
165              
166             Hybrid, written in perl with optional C code, no compiler needed
167              
168             =item +
169              
170             C++ and perl, a C++ compiler will be needed
171              
172             =item o
173              
174             perl and another language other than C or C++
175              
176             =back
177              
178             =cut
179              
180             *l = \&statl;
181              
182             =pod
183              
184             =head2 i - Interface Style
185            
186             =over 4
187              
188             =item f
189              
190             plain Functions, no references used
191              
192             =item h
193              
194             hybrid, object and function interfaces available
195              
196             =item n
197              
198             no interface at all (huh?)
199              
200             =item r
201              
202             some use of unblessed References or ties
203              
204             =item O
205              
206             Object oriented using blessed references and/or inheritance
207              
208             =back
209              
210             =cut
211              
212             *i = \&stati;
213              
214             =pod
215              
216             =head2 p - Public License
217            
218             =over 4
219              
220             =item p
221              
222             Standard-Perl: user may choose between GPL and Artistic
223              
224             =item g
225              
226             GPL: GNU General Public License
227              
228             =item l
229              
230             LGPL: "GNU Lesser General Public License" (previously known as "GNU Library General Public License")
231              
232             =item b
233              
234             BSD: The BSD License
235              
236             =item a
237              
238             Artistic license alone
239              
240             =item o
241              
242             other (but distribution allowed without restrictions)
243              
244             =back
245              
246             =cut
247              
248             *p = \&statp;
249              
250              
251             =head1 BUGS
252              
253             None that I know of.
254              
255             =head1 COPYING
256              
257             Distributed under the same terms as Perl itself.
258              
259             =head1 AUTHOR
260              
261             Copyright (c) 2004,
262              
263             Simon Wistow
264              
265             =cut
266              
267             1;