File Coverage

blib/lib/Messaging/Message/Queue/ZERO.pm
Criterion Covered Total %
statement 23 34 67.6
branch n/a
condition n/a
subroutine 10 24 41.6
pod 3 20 15.0
total 36 78 46.1


line stmt bran cond sub pod time code
1             #+##############################################################################
2             # #
3             # File: Messaging/Message/Queue/ZERO.pm #
4             # #
5             # Description: abstraction of a message queue returning empty messages #
6             # #
7             #-##############################################################################
8              
9             #
10             # module definition
11             #
12              
13             package Messaging::Message::Queue::ZERO;
14 1     1   8 use strict;
  1         3  
  1         34  
15 1     1   5 use warnings;
  1         3  
  1         92  
16             our $VERSION = "1.7";
17             our $REVISION = sprintf("%d.%02d", q$Revision: 1.1 $ =~ /(\d+)\.(\d+)/);
18              
19             #
20             # inheritance
21             #
22              
23             our @ISA = qw(Messaging::Message::Queue);
24              
25             #
26             # used modules
27             #
28              
29 1     1   6 use No::Worries::Die qw(dief);
  1         24  
  1         9  
30 1     1   113 use Params::Validate qw(validate_with);
  1         2  
  1         500  
31              
32             #
33             # constructor
34             #
35              
36             sub new : method {
37 1     1 1 3 my($class, %option, $self);
38              
39 1         2 $class = shift(@_);
40 1         14 %option = validate_with(
41             params => \@_,
42             spec => {},
43             allow_extra => 0,
44             );
45 1         4 $self = {};
46 1         3 bless($self, $class);
47 1         6 return($self);
48             }
49              
50             #
51             # Directory::Queue methods that can be used
52             #
53              
54             sub first : method {
55 1     1 0 2 return("first");
56             }
57              
58             sub next : method { ## no critic 'ProhibitBuiltinHomonyms'
59 0     0 0 0 return("next");
60             }
61              
62             sub count : method {
63 2     2 0 663 return(1);
64             }
65              
66       0 0   sub purge : method {
67             }
68              
69             sub path : method {
70 0     0 0 0 return("ZERO");
71             }
72              
73             sub id : method {
74 0     0 0 0 return("ZERO");
75             }
76              
77       0 0   sub touch : method {
78             }
79              
80             sub lock : method { ## no critic 'ProhibitBuiltinHomonyms'
81 1     1 0 302 return(1);
82             }
83              
84             sub unlock : method {
85 1     1 0 303 return(1);
86             }
87              
88       0 0   sub remove : method {
89             }
90              
91             sub get : method {
92 0     0 0 0 return("");
93             }
94              
95             #
96             # Directory::Queue methods that cannot be used
97             #
98              
99             sub add : method {
100 0     0 0 0 dief("unsupported method: add()");
101             }
102              
103             sub add_ref : method {
104 0     0 0 0 dief("unsupported method: add_ref()");
105             }
106              
107             sub add_path : method {
108 0     0 0 0 dief("unsupported method: add_path()");
109             }
110              
111             sub get_ref : method {
112 0     0 0 0 dief("unsupported method: get_ref()");
113             }
114              
115             sub get_path : method {
116 0     0 0 0 dief("unsupported method: get_path()");
117             }
118              
119             sub copy : method {
120 0     0 0 0 dief("unsupported method: copy()");
121             }
122              
123             #
124             # add a message object to the queue
125             #
126              
127             sub add_message : method {
128 0     0 1 0 dief("unsupported method: add_message()");
129             }
130              
131             #
132             # get a message object from the queue
133             #
134              
135             sub get_message : method {
136 1     1 1 7 return(Messaging::Message->new());
137             }
138              
139             1;
140              
141             __DATA__