blib/lib/Net/COLOURlovers.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
statement | 18 | 25 | 72.0 |
branch | 0 | 2 | 0.0 |
condition | n/a | ||
subroutine | 6 | 8 | 75.0 |
pod | 1 | 1 | 100.0 |
total | 25 | 36 | 69.4 |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | # ABSTRACT: Interface to COLOURlovers.com's API | ||||||
2 | |||||||
3 | package Net::COLOURlovers; | ||||||
4 | { | ||||||
5 | $Net::COLOURlovers::VERSION = '0.01'; | ||||||
6 | } | ||||||
7 | |||||||
8 | 1 | 1 | 730 | use strict; | |||
1 | 2 | ||||||
1 | 37 | ||||||
9 | 1 | 1 | 6 | use warnings; | |||
1 | 2 | ||||||
1 | 36 | ||||||
10 | |||||||
11 | 1 | 1 | 6 | use List::Util qw( first ); | |||
1 | 10 | ||||||
1 | 118 | ||||||
12 | 1 | 1 | 938 | use LWP::UserAgent; | |||
1 | 51105 | ||||||
1 | 45 | ||||||
13 | |||||||
14 | 1 | 730 | use base qw( | ||||
15 | Net::COLOURlovers::Color | ||||||
16 | Net::COLOURlovers::Lover | ||||||
17 | Net::COLOURlovers::Palette | ||||||
18 | Net::COLOURlovers::Pattern | ||||||
19 | Net::COLOURlovers::Stat | ||||||
20 | 1 | 1 | 11 | ); | |||
1 | 2 | ||||||
21 | |||||||
22 | sub new { | ||||||
23 | 1 | 1 | 1 | 457 | my $ua = LWP::UserAgent->new( | ||
24 | 'agent' => "Net::COLOURlovers/$Net::COLOURlovers::VERSION" ); | ||||||
25 | 1 | 3439 | my $args = { 'ua' => $ua }; | ||||
26 | |||||||
27 | 1 | 5 | return bless $args, __PACKAGE__; | ||||
28 | } | ||||||
29 | |||||||
30 | sub _build_parametres { | ||||||
31 | 0 | 0 | my ( $args, $parametres_ref ) = @_; | ||||
32 | |||||||
33 | 0 | my %parametre; | |||||
34 | 0 | for my $parametre (@$parametres_ref) { | |||||
35 | 0 | 0 | 0 | if ( first { $_ eq $parametre } keys %$args ) { | |||
0 | |||||||
36 | 0 | $parametre{$parametre} = $args->{$parametre}; | |||||
37 | } | ||||||
38 | } | ||||||
39 | |||||||
40 | 0 | return \%parametre; | |||||
41 | } | ||||||
42 | |||||||
43 | 1; | ||||||
44 | |||||||
45 | |||||||
46 | |||||||
47 | =pod | ||||||
48 | |||||||
49 | =head1 NAME | ||||||
50 | |||||||
51 | Net::COLOURlovers - Interface to COLOURlovers.com's API | ||||||
52 | |||||||
53 | =head1 VERSION | ||||||
54 | |||||||
55 | version 0.01 | ||||||
56 | |||||||
57 | =head1 SYNOPSIS | ||||||
58 | |||||||
59 | use Net::COLOURlovers; | ||||||
60 | |||||||
61 | my $cl = Net::COLOURlovers->new; | ||||||
62 | |||||||
63 | my $pattern = $cl->pattern_random; | ||||||
64 | my @colors = $cl->colors_top( { 'numResults' => 5 } ); | ||||||
65 | |||||||
66 | A sample page built using this API can be found at: L |
||||||
67 | |||||||
68 | =head3 METHOD FORMAT | ||||||
69 | |||||||
70 | Each method listed below has its input and output parametres specified in | ||||||
71 | sections titled I and I | ||||||
72 | parametre type: | ||||||
73 | |||||||
74 | =over 4 | ||||||
75 | |||||||
76 | =item * B |
||||||
77 | |||||||
78 | =item * B |
||||||
79 | |||||||
80 | =item * B |
||||||
81 | |||||||
82 | =item * B |
||||||
83 | which has B |
||||||
84 | |||||||
85 | =back | ||||||
86 | |||||||
87 | =head1 ATTRIBUTES | ||||||
88 | |||||||
89 | =head2 C |
||||||
90 | |||||||
91 | Constructs and returns a L |
||||||
92 | |||||||
93 | =head1 METHODS | ||||||
94 | |||||||
95 | =head2 C |
||||||
96 | |||||||
97 | I: B |
||||||
98 | |||||||
99 | =over 4 | ||||||
100 | |||||||
101 | =item * C<'color_name'> | ||||||
102 | |||||||
103 | A 6-character hexadecimal value like C<6B4106>. | ||||||
104 | |||||||
105 | =back | ||||||
106 | |||||||
107 | I | ||||||
108 | |||||||
109 | =over 4 | ||||||
110 | |||||||
111 | =item * C |
||||||
112 | |||||||
113 | =item * C |
||||||
114 | |||||||
115 | =item * C |
||||||
116 | |||||||
117 | =item * C |
||||||
118 | |||||||
119 | =item * C |
||||||
120 | |||||||
121 | =item * C |
||||||
122 | |||||||
123 | =item * C |
||||||
124 | |||||||
125 | =item * C |
||||||
126 | |||||||
127 | =item * C |
||||||
128 | |||||||
129 | =item * C |
||||||
130 | |||||||
131 | =item * C |
||||||
132 | |||||||
133 | =over 4 | ||||||
134 | |||||||
135 | =item * C |
||||||
136 | |||||||
137 | =item * C |
||||||
138 | |||||||
139 | =item * C |
||||||
140 | |||||||
141 | =back | ||||||
142 | |||||||
143 | =item * C |
||||||
144 | |||||||
145 | =over 4 | ||||||
146 | |||||||
147 | =item * C |
||||||
148 | |||||||
149 | =item * C |
||||||
150 | |||||||
151 | =item * C |
||||||
152 | |||||||
153 | =back | ||||||
154 | |||||||
155 | =item * C |
||||||
156 | |||||||
157 | =item * C |
||||||
158 | |||||||
159 | =item * C |
||||||
160 | |||||||
161 | =item * C |
||||||
162 | |||||||
163 | =item * C |
||||||
164 | |||||||
165 | =back | ||||||
166 | |||||||
167 | =head2 C |
||||||
168 | |||||||
169 | I: B |
||||||
170 | |||||||
171 | =over 4 | ||||||
172 | |||||||
173 | =item * C |
||||||
174 | |||||||
175 | =item * C |
||||||
176 | |||||||
177 | =item * C |
||||||
178 | |||||||
179 | =item * C |
||||||
180 | |||||||
181 | =item * C |
||||||
182 | |||||||
183 | =item * C |
||||||
184 | |||||||
185 | =item * C |
||||||
186 | |||||||
187 | =item * C |
||||||
188 | |||||||
189 | =item * C |
||||||
190 | |||||||
191 | =back | ||||||
192 | |||||||
193 | I | ||||||
194 | |||||||
195 | Format same as that for L. | ||||||
196 | |||||||
197 | =head2 C |
||||||
198 | |||||||
199 | I: B |
||||||
200 | |||||||
201 | I | ||||||
202 | |||||||
203 | Format same as that for L. | ||||||
204 | |||||||
205 | =head2 C |
||||||
206 | |||||||
207 | I: B |
||||||
208 | |||||||
209 | =over 4 | ||||||
210 | |||||||
211 | =item * C<'lover_name'> | ||||||
212 | |||||||
213 | A valid COLOURlovers.com username. | ||||||
214 | |||||||
215 | =back | ||||||
216 | |||||||
217 | I | ||||||
218 | |||||||
219 | =over 4 | ||||||
220 | |||||||
221 | =item * C |
||||||
222 | |||||||
223 | =item * C |
||||||
224 | |||||||
225 | =item * C |
||||||
226 | |||||||
227 | =item * C |
||||||
228 | |||||||
229 | =item * C |
||||||
230 | |||||||
231 | =item * C |
||||||
232 | |||||||
233 | =item * C |
||||||
234 | |||||||
235 | =item * C |
||||||
236 | |||||||
237 | =item * C |
||||||
238 | |||||||
239 | =item * C |
||||||
240 | |||||||
241 | =item * C |
||||||
242 | |||||||
243 | =item * C |
||||||
244 | |||||||
245 | =back | ||||||
246 | |||||||
247 | =head2 C |
||||||
248 | |||||||
249 | I: B |
||||||
250 | |||||||
251 | =over 4 | ||||||
252 | |||||||
253 | =item * C |
||||||
254 | |||||||
255 | =item * C |
||||||
256 | |||||||
257 | =item * C |
||||||
258 | |||||||
259 | =item * C |
||||||
260 | |||||||
261 | =back | ||||||
262 | |||||||
263 | I | ||||||
264 | |||||||
265 | Format same as that for L. | ||||||
266 | |||||||
267 | =head2 C |
||||||
268 | |||||||
269 | I: B |
||||||
270 | |||||||
271 | =over 4 | ||||||
272 | |||||||
273 | =item * C<'palette_id'> | ||||||
274 | |||||||
275 | A valid palette ID like C<113451>. | ||||||
276 | |||||||
277 | =back | ||||||
278 | |||||||
279 | I | ||||||
280 | |||||||
281 | =over 4 | ||||||
282 | |||||||
283 | =item * C |
||||||
284 | |||||||
285 | =item * C |
||||||
286 | |||||||
287 | =item * C |
||||||
288 | |||||||
289 | =item * C |
||||||
290 | |||||||
291 | =item * C |
||||||
292 | |||||||
293 | =item * C |
||||||
294 | |||||||
295 | =item * C |
||||||
296 | |||||||
297 | =item * C |
||||||
298 | |||||||
299 | =item * C |
||||||
300 | |||||||
301 | =item * C |
||||||
302 | |||||||
303 | =item * C |
||||||
304 | |||||||
305 | =item * C |
||||||
306 | |||||||
307 | =item * C |
||||||
308 | |||||||
309 | =item * C |
||||||
310 | |||||||
311 | =item * C |
||||||
312 | |||||||
313 | =back | ||||||
314 | |||||||
315 | =head2 C |
||||||
316 | |||||||
317 | I: B |
||||||
318 | |||||||
319 | =over 4 | ||||||
320 | |||||||
321 | =item * C |
||||||
322 | |||||||
323 | =item * C |
||||||
324 | |||||||
325 | =item * C |
||||||
326 | |||||||
327 | =item * C |
||||||
328 | |||||||
329 | =item * C |
||||||
330 | |||||||
331 | =item * C |
||||||
332 | |||||||
333 | =item * C |
||||||
334 | |||||||
335 | =item * C |
||||||
336 | |||||||
337 | =item * C |
||||||
338 | |||||||
339 | =item * C |
||||||
340 | |||||||
341 | =back | ||||||
342 | |||||||
343 | I | ||||||
344 | |||||||
345 | Format same as that for L. | ||||||
346 | |||||||
347 | =head2 C |
||||||
348 | |||||||
349 | I: B |
||||||
350 | |||||||
351 | I | ||||||
352 | |||||||
353 | Format same as that for L. | ||||||
354 | |||||||
355 | =head2 C |
||||||
356 | |||||||
357 | I: B |
||||||
358 | |||||||
359 | =over 4 | ||||||
360 | |||||||
361 | =item * C<'pattern_id'> | ||||||
362 | |||||||
363 | A valid pattern ID like C<1451>. | ||||||
364 | |||||||
365 | =back | ||||||
366 | |||||||
367 | I | ||||||
368 | |||||||
369 | =over 4 | ||||||
370 | |||||||
371 | =item * C |
||||||
372 | |||||||
373 | =item * C |
||||||
374 | |||||||
375 | =item * C |
||||||
376 | |||||||
377 | =item * C |
||||||
378 | |||||||
379 | =item * C |
||||||
380 | |||||||
381 | =item * C |
||||||
382 | |||||||
383 | =item * C |
||||||
384 | |||||||
385 | =item * C |
||||||
386 | |||||||
387 | =item * C |
||||||
388 | |||||||
389 | =item * C |
||||||
390 | |||||||
391 | =item * C |
||||||
392 | |||||||
393 | =item * C |
||||||
394 | |||||||
395 | =item * C |
||||||
396 | |||||||
397 | =item * C |
||||||
398 | |||||||
399 | =item * C |
||||||
400 | |||||||
401 | =back | ||||||
402 | |||||||
403 | =head2 C |
||||||
404 | |||||||
405 | I: B |
||||||
406 | |||||||
407 | =over 4 | ||||||
408 | |||||||
409 | =item * C |
||||||
410 | |||||||
411 | =item * C |
||||||
412 | |||||||
413 | =item * C |
||||||
414 | |||||||
415 | =item * C |
||||||
416 | |||||||
417 | =item * C |
||||||
418 | |||||||
419 | =item * C |
||||||
420 | |||||||
421 | =item * C |
||||||
422 | |||||||
423 | =item * C |
||||||
424 | |||||||
425 | =item * C |
||||||
426 | |||||||
427 | =back | ||||||
428 | |||||||
429 | I | ||||||
430 | |||||||
431 | Format same as that for L. | ||||||
432 | |||||||
433 | =head2 C |
||||||
434 | |||||||
435 | I: B |
||||||
436 | |||||||
437 | I | ||||||
438 | |||||||
439 | Format same as that for L. | ||||||
440 | |||||||
441 | =head2 C |
||||||
442 | |||||||
443 | Returns total number of colors. | ||||||
444 | |||||||
445 | =head2 C |
||||||
446 | |||||||
447 | Returns total number of lovers. | ||||||
448 | |||||||
449 | =head2 C |
||||||
450 | |||||||
451 | Returns total number of palettes. | ||||||
452 | |||||||
453 | =head2 C |
||||||
454 | |||||||
455 | Returns total number of patterns. | ||||||
456 | |||||||
457 | =encoding utf8 | ||||||
458 | |||||||
459 | =head1 SEE ALSO | ||||||
460 | |||||||
461 | L |
||||||
462 | |||||||
463 | =head1 ATTRIBUTION CREDIT | ||||||
464 | |||||||
465 | L |
||||||
466 | |||||||
467 | =head1 AUTHOR | ||||||
468 | |||||||
469 | Alan Haggai Alavi |
||||||
470 | |||||||
471 | =head1 COPYRIGHT AND LICENSE | ||||||
472 | |||||||
473 | This software is copyright (c) 2011 by Alan Haggai Alavi. | ||||||
474 | |||||||
475 | This is free software; you can redistribute it and/or modify it under | ||||||
476 | the same terms as the Perl 5 programming language system itself. | ||||||
477 | |||||||
478 | =cut | ||||||
479 | |||||||
480 | |||||||
481 | __END__ |