File Coverage

blib/lib/POE/Component/IRC/Plugin/Logger/Irssi.pm
Criterion Covered Total %
statement 13 13 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 0 1 0.0
total 18 19 94.7


line stmt bran cond sub pod time code
1             package POE::Component::IRC::Plugin::Logger::Irssi;
2              
3             our $VERSION = '0.001002';
4              
5 1     1   33256 use 5.014000;
  1         4  
  1         52  
6 1     1   7 use strict;
  1         4  
  1         36  
7 1     1   5 use warnings;
  1         14  
  1         36  
8              
9 1     1   927 use parent qw/Exporter/;
  1         327  
  1         5  
10              
11             our @EXPORT_OK = qw/irssi_format/;
12              
13             ##################################################
14              
15             my %irssi_format = (
16             nick_change => sub { "-!- $_[0] is now known as $_[1]" },
17             topic_is => sub { "-!- Topic for $_[0]: $_[1]"},
18             topic_change => sub {
19             my ($nick, $topic) = @_;
20             return "-!- $nick changed the topic to: $topic" if $topic;
21             return "-!- Topic unset by $nick" unless $topic;
22             },
23             privmsg => sub{ "<$_[0]> $_[1]" },
24             notice => sub { "-$_[0]- $_[1]" },
25             action => sub { "* $_[0] $_[1]" },
26             join => sub { "-!- $_[0] [$_[1]] has joined $_[2]" },
27             part => sub { "-!- $_[0] [$_[1]] has left $_[2] [$_[3]]" },
28             quit => sub { "-!- $_[0] [$_[1]] has quit [$_[2]]"},
29             kick => sub { "-!- $_[1] was kicked from $_[2] by $_[0] [$_[3]]"},
30             topic_set_by => sub { "-!- Topic set by $_[1] [". localtime($_[2]) .']' },
31             );
32              
33             for my $letter ('a' .. 'z', 'A' .. 'Z') {
34             $irssi_format{"+$letter"} = sub { my $nick = shift; "-!- mode [+$letter @_] by $nick" };
35             $irssi_format{"-$letter"} = sub { my $nick = shift; "-!- mode [-$letter @_] by $nick" }
36             }
37              
38 1     1 0 9 sub irssi_format { \%irssi_format }
39              
40             1;
41             __END__