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.26';
6              
7 0         0 BEGIN { # We're fooling the Kwalitee checker into thinking we're strict
8 1     1   1093 use strict;
  1     0   3  
  1         119  
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   17 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 2940 eval <
  1 50   1 0 384  
  1 50   2 0 6  
  0 50   1 0 0  
  0 100   1 0 0  
  0 50   1 0 0  
  1 50   1 0 2  
  3 50   1 0 10  
  1 50   1 0 6  
  0 50   1 0 0  
  0 50   1 0 0  
  1 50   1 0 661  
  1 50   1 0 7  
  0 50   1 0 0  
  0 50   1 0 0  
  0 50   1 0 0  
  1 50   1 0 2  
  3 50   2 0 38  
  1 50   0 0 2  
  0 50   1 0 0  
  0 50   1 0 0  
  2 50   1 0 1873  
  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 11  
  1 50   1 0 3  
  0 50       0  
  0 50       0  
  1 50       553  
  1 50       6  
  0 50       0  
  0 100       0  
  0 50       0  
  1 0       3  
  3 0       10  
  1 50       2  
  0 50       0  
  0 50       0  
  1 50       547  
  1 50       6  
  0 50       0  
  0 50       0  
  0 50       0  
  1 100       2  
  3 50       10  
  1 50       3  
  0 50       0  
  0 50       0  
  1 50       541  
  1 50       6  
  0 50       0  
  0 50       0  
  0 50       0  
  1 50       2  
  3 50       12  
  1         3  
  0         0  
  0         0  
  1         543  
  1         8  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         3  
  0         0  
  0         0  
  1         537  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         2  
  0         0  
  0         0  
  1         559  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         9  
  1         2  
  0         0  
  0         0  
  1         555  
  1         7  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         3  
  0         0  
  0         0  
  1         580  
  1         6  
  0         0  
  0         0  
  0         0  
  1         1  
  3         9  
  1         3  
  0         0  
  0         0  
  1         565  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         9  
  1         3  
  0         0  
  0         0  
  1         534  
  1         5  
  0         0  
  0         0  
  0         0  
  1         3  
  3         18  
  1         3  
  0         0  
  0         0  
  1         1047  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         3  
  0         0  
  0         0  
  1         991  
  1         15  
  0         0  
  0         0  
  0         0  
  1         3  
  3         8  
  1         2  
  0         0  
  0         0  
  1         935  
  1         7  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         3  
  0         0  
  0         0  
  1         934  
  1         5  
  0         0  
  0         0  
  0         0  
  1         3  
  3         11  
  1         2  
  0         0  
  0         0  
  2         1902  
  2         8  
  1         3  
  3         10  
  1         3  
  1         3  
  3         9  
  1         2  
  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         532  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         3  
  0         0  
  0         0  
  1         530  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         9  
  1         3  
  0         0  
  0         0  
  1         531  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         12  
  1         2  
  0         0  
  0         0  
  1         582  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         2  
  0         0  
  0         0  
  2         2077  
  2         11  
  1         2  
  3         10  
  1         3  
  1         2  
  3         10  
  1         3  
  0         0  
  0         0  
  1         531  
  1         7  
  0         0  
  0         0  
  0         0  
  1         2  
  3         8  
  1         3  
  0         0  
  0         0  
  1         552  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         349  
  1         3  
  0         0  
  0         0  
  1         1018  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  1         3  
  0         0  
  0         0  
  1         538  
  1         6  
  0         0  
  0         0  
  0         0  
  1         2  
  3         11  
  1         12  
  0         0  
  0         0  
  1         935  
  1         5  
  0         0  
  0         0  
  0         0  
  1         2  
  3         10  
  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 1086 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__