File Coverage

blib/lib/App/Alice/MessageBuffer.pm
Criterion Covered Total %
statement 6 11 54.5
branch 2 2 100.0
condition n/a
subroutine 2 4 50.0
pod 0 3 0.0
total 10 20 50.0


line stmt bran cond sub pod time code
1             package App::Alice::MessageBuffer;
2              
3 4     4   3109 use Any::Moose;
  4         351380  
  4         28  
4              
5             has store => (
6             is => 'ro',
7             lazy => 1,
8             default => sub {
9             my $self = shift;
10             eval "require App::Alice::MessageStore::".$self->store_class;
11             ("App::Alice::MessageStore::".$self->store_class)->new(id => $self->id);
12             }
13             );
14              
15             has id => (
16             is => 'ro',
17             required => 1,
18             );
19              
20             has store_class => (
21             is => 'ro',
22             default => 'Memory',
23             );
24              
25             has previous_nick => (
26             is => 'rw',
27             default => "",
28             );
29              
30             sub clear {
31 0     0 0 0 my $self = shift;
32 0         0 $self->previous_nick("");
33 0         0 $self->store->clear;
34             }
35              
36             sub add {
37 18     18 0 46 my ($self, $message) = @_;
38 18 100       117 $message->{event} ne "say" ? $self->previous_nick("")
39             : $self->previous_nick($message->{nick});
40 18         118 $self->store->add($message);
41             }
42              
43             sub with_messages {
44 0     0 0   my $self = shift;
45 0           $self->store->with_messages(@_);
46             }
47              
48             __PACKAGE__->meta->make_immutable;
49             1;