File Coverage

blib/lib/Net/OSCAR/Callbacks/3/buddy_signoff.pm
Criterion Covered Total %
statement 10 10 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 14 100.0


line stmt bran cond sub pod time code
1             package Net::OSCAR::Callbacks;
2             BEGIN {
3 1     1   35 $Net::OSCAR::Callbacks::VERSION = '1.928';
4             }
5 1     1   9 use strict;
  1         4  
  1         44  
6 1     1   7 use warnings;
  1         3  
  1         58  
7 1     1   8 use vars qw($connection $snac $conntype $family $subtype $data $reqid $reqdata $session $protobit %data);
  1         3  
  1         551  
8             sub {
9              
10             my $buddy = $data{screenname};
11             my($grpname, $group) = $session->findbuddy($buddy);
12             return unless $grpname;
13              
14             delete $session->{userinfo}->{$buddy};
15             my $budinfo = $group->{members}->{$buddy};
16             foreach (keys %$budinfo) {
17             delete $budinfo->{$_} unless /^(?:buddyid|data|__BLI.*|alias|online|comment|screenname)$/;
18             }
19             $budinfo->{online} = 0;
20              
21             $connection->log_print(OSCAR_DBG_DEBUG, "And so, another former ally has abandoned us. Curse you, $buddy!");
22             $session->callback_buddy_out($budinfo->{screenname}, $grpname);
23              
24             };