File Coverage

blib/lib/CPAN/YACSmoke/Plugin/SmokeDB.pm
Criterion Covered Total %
statement 12 21 57.1
branch 0 2 0.0
condition 0 2 0.0
subroutine 4 6 66.6
pod 2 2 100.0
total 18 33 54.5


line stmt bran cond sub pod time code
1             =head1 NAME
2            
3             CPAN::YACSmoke::Plugin::SmokeDB - SmokeDB list for Yet Another CPAN Smoke Tester
4            
5             =head1 SYNOPSIS
6            
7             use CPAN::YACSmoke;
8             my $config = {
9             list_from => 'SmokeDB',
10             };
11             my $foo = CPAN::YACSmoke->new(config => $config);
12             my @list = $foo->download_list();
13            
14             =head1 DESCRIPTION
15            
16             This module provides the backend ability to access the list of current
17             modules recorded in the local cpansmoke database.
18            
19             This module should be use together with CPAN::YACSmoke.
20            
21             =cut
22            
23             package CPAN::YACSmoke::Plugin::SmokeDB;
24            
25 1     1   902 use 5.006001;
  1         3  
  1         31  
26 1     1   5 use strict;
  1         1  
  1         22  
27 1     1   4 use warnings;
  1         1  
  1         31  
28            
29             our $VERSION = '0.01';
30            
31             # -------------------------------------
32             # Library Modules
33            
34 1     1   4 use CPAN::YACSmoke;
  1         1  
  1         152  
35            
36             # -------------------------------------
37             # The Subs
38            
39             =head1 CONSTRUCTOR
40            
41             =over 4
42            
43             =item new()
44            
45             Creates the plugin object.
46            
47             =back
48            
49             =cut
50            
51             sub new {
52 0   0 0 1   my $class = shift || __PACKAGE__;
53 0           my $hash = shift;
54            
55 0           my $self = {
56             };
57 0           foreach my $field (qw( smoke )) {
58 0 0         $self->{$field} = $hash->{$field} if(exists $hash->{$field});
59             }
60            
61 0           bless $self, $class;
62             }
63            
64             =head1 METHODS
65            
66             =over 4
67            
68             =item download_list()
69            
70             Returns the current distributions stored in the local cpansmoke database.
71            
72             =cut
73            
74             sub download_list {
75 0     0 1   my $self = shift;
76 0           return keys %{ $self->{smoke}->{checked} };
  0            
77             }
78            
79             1;
80             __END__