File Coverage

blib/lib/DR/Msgpuck/Num.pm
Criterion Covered Total %
statement 24 30 80.0
branch 1 4 25.0
condition 1 3 33.3
subroutine 8 11 72.7
pod 0 2 0.0
total 34 50 68.0


line stmt bran cond sub pod time code
1 1     1   644 use utf8;
  1         1  
  1         4  
2 1     1   21 use strict;
  1         1  
  1         13  
3 1     1   3 use warnings;
  1         0  
  1         23  
4              
5             package DR::Msgpuck::Num;
6 1     1   2 use Carp;
  1         1  
  1         40  
7 1     1   3 use Scalar::Util ();
  1         1  
  1         65  
8             use overload
9 0 0   0   0 bool => sub { ${ $_[0] } ? 1 : 0 },
  0         0  
10 0     0   0 int => sub { int ${ $_[0] } },
  0         0  
11 0     0   0 '""' => sub { ${ $_[0] } },
  0         0  
12 1     1   3 ;
  1         1  
  1         6  
13              
14             sub new {
15 5     5 0 2275 my ($class, $v) = @_;
16 5 50       17 croak "Argument doesn't look like number"
17             unless Scalar::Util::looks_like_number $v;
18 5   33     24 bless \$v => ref($class) || $class;
19             }
20              
21             sub TO_MSGPACK {
22 5     5 0 22 require DR::Msgpuck;
23 5         5 my ($self) = @_;
24 5         40 DR::Msgpuck::msgpack($$self);
25             }
26              
27             1;