File Coverage

blib/lib/Data/Encoder/Data/MessagePack.pm
Criterion Covered Total %
statement 21 21 100.0
branch 2 4 50.0
condition 2 2 100.0
subroutine 6 6 100.0
pod 0 3 0.0
total 31 36 86.1


line stmt bran cond sub pod time code
1             package Data::Encoder::Data::MessagePack;
2              
3 1     1   752 use strict;
  1         5  
  1         34  
4 1     1   5 use warnings;
  1         2  
  1         26  
5 1     1   11 use Data::MessagePack;
  1         2  
  1         216  
6              
7             my $ooish = $Data::MessagePack::VERSION >= 0.36;
8              
9             sub new {
10 2     2 0 1531 my ($class, $args) = @_;
11 2         5 my $mp = 'Data::MessagePack';
12 2 50       7 if ($ooish) {
13 2         15 $mp = Data::MessagePack->new;
14 2   100     26 $args ||= {};
15 2         8 for my $method (keys %$args) {
16 3 50       32 $mp->$method(defined $args->{$method} ? $args->{$method} : ());
17             }
18             }
19 2         18 bless { mp => $mp }, __PACKAGE__;
20             }
21              
22             sub encode {
23 2     2 0 16 my ($self, $stuff, @args) = @_;
24 2         25 $self->{mp}->pack($stuff);
25             }
26              
27             sub decode {
28 2     2 0 1137 my ($self, $stuff, @args) = @_;
29 2         38 $self->{mp}->unpack($stuff);
30             }
31              
32             1;
33             __END__