File Coverage

blib/lib/Cache/Memcached/Managed/Multi.pm
Criterion Covered Total %
statement 156 300 52.0
branch 59 116 50.8
condition n/a
subroutine 31 34 91.1
pod 2 31 6.4
total 248 481 51.5


line stmt bran cond sub pod time code
1             package Cache::Memcached::Managed::Multi;
2              
3             # Make sure we have version info for this module
4              
5             $VERSION= '0.25';
6              
7 0         0 BEGIN { # We're fooling the Kwalitee checker into thinking we're strict
8 1     1   909 use strict;
  1     0   3  
  1         97  
9             }
10              
11             #--------------------------------------------------------------------------
12             # No, we're NOT using strict here. There are several reasons, the most
13             # important is that we're doing a lot of nasty stuff here.
14             # If you _do_ want stricture as a developer of this module, simply activate
15             # the line below here
16             #--------------------------------------------------------------------------
17             #use strict;
18              
19             # At compile time
20             # Create list with method names
21              
22             BEGIN {
23 1     1   11 my @method = qw(
24             add
25             data
26             dead
27             decr
28             delete
29             delete_group
30             delimiter
31             directory
32             errors
33             expiration
34             flush_all
35             flush_interval
36             get
37             get_group
38             get_multi
39             grab_group
40             group
41             group_names
42             inactive
43             incr
44             namespace
45             replace
46             reset
47             servers
48             set
49             start
50             stats
51             stop
52             version
53             );
54              
55             # Create a method for each of the methods which
56             # Obtains the list of objects
57             # If called in list context
58             # Call the methods in list context and return list of list refs
59             # Elseif called in scalar context
60             # Call the methods in scalar context and return list ref of values
61             # Call the methods in void context
62              
63 1 50   1 0 2354 eval <
  1 50   1 0 305  
  1 50   2 0 5  
  0 50   1 0 0  
  0 100   1 0 0  
  0 50   1 0 0  
  1 50   1 0 2  
  3 50   1 0 8  
  1 50   1 0 4  
  0 50   1 0 0  
  0 50   1 0 0  
  1 50   1 0 509  
  1 50   1 0 5  
  0 50   1 0 0  
  0 50   1 0 0  
  0 50   1 0 0  
  1 50   1 0 1  
  3 50   2 0 32  
  1 50   0 0 2  
  0 50   1 0 0  
  0 50   1 0 0  
  2 50   1 0 1511  
  2 50   1 0 8  
  1 50   2 0 2  
  3 50   1 0 10  
  1 50   1 0 2  
  1 50   1 0 3  
  3 50   1 0 8  
  1 50   1 0 3  
  0 50       0  
  0 50       0  
  1 50       445  
  1 50       5  
  0 50       0  
  0 100       0  
  0 50       0  
  1 0       2  
  3 0       9  
  1 50       2  
  0 50       0  
  0 50       0  
  1 50       442  
  1 50       4  
  0 50       0  
  0 50       0  
  0 50       0  
  1 100       2  
  3 50       7  
  1 50       2  
  0 50       0  
  0 50       0  
  1 50       436  
  1 50       5  
  0 50       0  
  0 50       0  
  0 50       0  
  1 50       1  
  3 50       9  
  1         3  
  0         0  
  0         0  
  1         434  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         7  
  1         2  
  0         0  
  0         0  
  1         430  
  1         5  
  0         0  
  0         0  
  0         0  
  1         1  
  3         7  
  1         2  
  0         0  
  0         0  
  1         430  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         2  
  0         0  
  0         0  
  1         444  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         7  
  1         2  
  0         0  
  0         0  
  1         409  
  1         4  
  0         0  
  0         0  
  0         0  
  1         2  
  3         7  
  1         2  
  0         0  
  0         0  
  1         447  
  1         4  
  0         0  
  0         0  
  0         0  
  1         2  
  3         7  
  1         2  
  0         0  
  0         0  
  1         409  
  1         4  
  0         0  
  0         0  
  0         0  
  1         2  
  3         9  
  1         10  
  0         0  
  0         0  
  1         768  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         15  
  1         2  
  0         0  
  0         0  
  1         747  
  1         5  
  0         0  
  0         0  
  0         0  
  1         3  
  3         9  
  1         2  
  0         0  
  0         0  
  1         731  
  1         7  
  0         0  
  0         0  
  0         0  
  1         2  
  3         11  
  1         2  
  0         0  
  0         0  
  1         739  
  1         5  
  0         0  
  0         0  
  0         0  
  1         1  
  3         9  
  1         3  
  0         0  
  0         0  
  2         1573  
  2         7  
  1         2  
  3         8  
  1         3  
  1         2  
  3         7  
  1         3  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         407  
  1         4  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         2  
  0         0  
  0         0  
  1         405  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         1  
  0         0  
  0         0  
  1         405  
  1         4  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         2  
  0         0  
  0         0  
  1         421  
  1         4  
  0         0  
  0         0  
  0         0  
  1         2  
  3         9  
  1         3  
  0         0  
  0         0  
  2         1562  
  2         10  
  1         3  
  3         9  
  1         2  
  1         2  
  3         8  
  1         3  
  0         0  
  0         0  
  1         434  
  1         6  
  0         0  
  0         0  
  0         0  
  1         3  
  3         9  
  1         2  
  0         0  
  0         0  
  1         426  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         2  
  0         0  
  0         0  
  1         774  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         3  
  0         0  
  0         0  
  1         426  
  1         13  
  0         0  
  0         0  
  0         0  
  1         2  
  3         9  
  1         3  
  0         0  
  0         0  
  1         753  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         3  
  0         0  
  0         0  
64             sub $_ {
65             my \$objects = shift;
66             if (wantarray) {
67             return map { [\$_->$_( \@_ )] } \@{\$objects};
68             } elsif (defined wantarray) {
69             return [map { scalar \$_->$_( \@_ ) } \@{\$objects}];
70             }
71             \$_->$_( \@_ ) foreach \@{\$objects};
72             } #$_
73             SUB
74             } #BEGIN
75              
76             # Satisfy -require-
77              
78             1;
79              
80             #---------------------------------------------------------------------------
81             #
82             # Class methods
83             #
84             #---------------------------------------------------------------------------
85             # new
86             #
87             # Return instantiated object
88             #
89             # IN: 1 class
90             # 2..N list of Cache::Memcached::Managed (compatible) objects
91             # OUT: 1 instantiated object
92              
93 1     1 1 907 sub new { my $class = shift; bless \@_,$class } #new
  1         4  
94              
95             #---------------------------------------------------------------------------
96             #
97             # Object methods
98             #
99             #---------------------------------------------------------------------------
100             # objects
101             #
102             # IN: 1 instantiated object
103             # OUT: 1..N objects of which this object consists
104              
105 0     0 1   sub objects { @{$_[0]} } #objects
  0            
106              
107             #---------------------------------------------------------------------------
108              
109             __END__