File Coverage

blib/lib/Alice/MessageBuffer.pm
Criterion Covered Total %
statement 10 19 52.6
branch 1 8 12.5
condition n/a
subroutine 3 5 60.0
pod 0 4 0.0
total 14 36 38.8


line stmt bran cond sub pod time code
1             package Alice::MessageBuffer;
2              
3 2     2   14 use Any::Moose;
  2         4  
  2         22  
4              
5             has previous_nick => (
6             is => 'rw',
7             default => "",
8             );
9              
10             has store => (
11             is => 'ro',
12             required => 1,
13             );
14              
15             has id => (
16             is => 'ro',
17             required => 1,
18             );
19              
20             sub next_msgid {
21 1     1 0 120 my $self = shift;
22 1         20 my $msgid = $self->store->msgid + 1;
23 1         23 $self->store->msgid($msgid);
24 1         85 return $msgid;
25             }
26              
27             sub clear {
28 0     0 0 0 my $self = shift;
29 0         0 $self->previous_nick("");
30 0         0 $self->store->clear($self->id);
31             }
32              
33             sub add {
34 1     1 0 3 my ($self, $message) = @_;
35 1 50       21 $message->{event} eq "say" ? $self->previous_nick($message->{nick})
36             : $self->previous_nick("");
37              
38 1         32 $self->store->add($self->id, $message);
39             }
40              
41             sub messages {
42 0     0 0   my ($self, $max, $min, $limit, $cb) = @_;
43              
44 0           my $msgid = $self->store->msgid;
45 0 0         $max = $msgid if $max > $msgid;
46 0 0         $min = 0 if $min < 0;
47 0 0         $limit = 0 if $limit < 0;
48              
49 0           return $self->store->messages($self->id, $max, $min, $limit, $cb);
50             }
51              
52             __PACKAGE__->meta->make_immutable;
53             1;