File Coverage

blib/lib/Data/Object/Autobox/Autoload/Number.pm
Criterion Covered Total %
statement 21 27 77.7
branch 0 4 0.0
condition 0 3 0.0
subroutine 7 8 87.5
pod n/a
total 28 42 66.6


line stmt bran cond sub pod time code
1             package Data::Object::Autobox::Autoload::Number;
2              
3 1     1   734 use 5.010;
  1         3  
  1         32  
4 1     1   4 use strict;
  1         1  
  1         26  
5 1     1   4 use warnings;
  1         1  
  1         33  
6              
7 1     1   3 use parent 'Data::Object::Autobox::Common';
  1         1  
  1         11  
8              
9 1     1   66 use Carp 'confess';
  1         1  
  1         65  
10 1     1   3 use Data::Object 'type_number';
  1         2  
  1         33  
11 1     1   4 use Scalar::Util 'blessed';
  1         2  
  1         196  
12              
13             sub AUTOLOAD {
14 0     0     my ($package, $method) = our $AUTOLOAD =~ /^(.+)::(.+)$/;
15              
16 0           my $delegate = 'Data::Object::Number';
17 0           my $self = $_[0] = type_number $_[0];
18              
19 0 0 0       confess "Undefined subroutine &${delegate}::$method called"
20             unless blessed $self && $self->isa($delegate);
21              
22 0 0         confess "Can't locate object method \"$method\" via package \"$delegate\""
23             unless my $source = $self->can($method);
24              
25 0           goto $source; # delegate to Data::Object::Number ...
26             }
27              
28             1;