File Coverage

blib/lib/Queue/Q/NaiveFIFO/Perl.pm
Criterion Covered Total %
statement 39 39 100.0
branch n/a
condition 2 2 100.0
subroutine 12 12 100.0
pod 7 7 100.0
total 60 60 100.0


line stmt bran cond sub pod time code
1             package Queue::Q::NaiveFIFO::Perl;
2 3     3   171519 use strict;
  3         7  
  3         85  
3 3     3   18 use warnings;
  3         6  
  3         93  
4              
5 3     3   16 use Carp qw(croak);
  3         7  
  3         145  
6 3     3   1069 use Queue::Q::NaiveFIFO;
  3         6  
  3         81  
7 3     3   1313 use parent 'Queue::Q::NaiveFIFO';
  3         603  
  3         18  
8              
9             sub new {
10 6     6 1 35 my $class = shift;
11 6         17 my $self = bless {
12             @_,
13             queue => [],
14             } => $class;
15 6         19 return $self;
16             }
17              
18             sub enqueue_item {
19 116     116 1 151 my $self = shift;
20 116         134 push @{$self->{queue}}, shift;
  116         468  
21             }
22              
23             sub enqueue_items {
24 4     4 1 7 my $self = shift;
25 4         5 push @{$self->{queue}}, @_;
  4         19  
26             }
27              
28             sub claim_item {
29 64     64 1 86 my $self = shift;
30 64         68 return shift @{$self->{queue}};
  64         163  
31             }
32              
33             sub claim_items {
34 12     12 1 17 my $self = shift;
35 12   100     32 my $n = shift || 1;
36 12         17 my $q = $self->{queue};
37 12         17 my @items = splice(@{$self->{queue}}, 0, $n);
  12         31  
38 12         37 return @items;
39             }
40              
41             sub flush_queue {
42 12     12 1 1678 my $self = shift;
43 12         15 @{ $self->{queue} } = ();
  12         46  
44             }
45              
46             sub queue_length {
47 60     60 1 3841 my $self = shift;
48 60         62 return scalar(@{ $self->{queue} });
  60         179  
49             }
50              
51             1;
52              
53             __END__