File Coverage

blib/lib/PocketIO/Sockets.pm
Criterion Covered Total %
statement 30 30 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod 3 4 75.0
total 42 43 97.6


line stmt bran cond sub pod time code
1             package PocketIO::Sockets;
2              
3 14     14   77 use strict;
  14         27  
  14         1904  
4 14     14   84 use warnings;
  14         158  
  14         540  
5              
6 14     14   79 use PocketIO::Message;
  14         27  
  14         392  
7 14     14   10144 use PocketIO::Room;
  14         1579  
  14         5040  
8              
9             sub new {
10 3     3 1 856 my $class = shift;
11              
12 3         13 my $self = {@_};
13 3         11 bless $self, $class;
14              
15 3         13 return $self;
16             }
17              
18             sub send {
19 1     1 1 410 my $self = shift;
20              
21 1         6 $self->{pool}->send(@_);
22              
23 1         2 return $self;
24             }
25              
26             sub emit {
27 1     1 1 5 my $self = shift;
28 1         2 my $name = shift;
29              
30 1         4 my $event = $self->_build_event_message($name, @_);
31              
32 1         82 $self->{pool}->send($event);
33              
34 1         134 return $self;
35             }
36              
37             sub in {
38 1     1 0 13 my $self = shift;
39 1         3 my ($room) = @_;
40              
41 1         12 return PocketIO::Room->new(room => $room, pool => $self->{pool});
42             }
43              
44             sub _build_event_message {
45 2     2   17 my $self = shift;
46 2         5 my $event = shift;
47              
48 2         45 return PocketIO::Message->new(
49             type => 'event',
50             data => {name => $event, args => [@_]}
51             );
52             }
53              
54             1;
55             __END__