File Coverage

blib/lib/Lego/Part/Transfer.pm
Criterion Covered Total %
statement 19 31 61.2
branch 0 2 0.0
condition 0 3 0.0
subroutine 6 9 66.6
pod 3 3 100.0
total 28 48 58.3


line stmt bran cond sub pod time code
1             package Lego::Part::Transfer;
2              
3 3     3   143183 use strict;
  3         6  
  3         104  
4 3     3   25 use warnings;
  3         6  
  3         212  
5              
6 3     3   1553 use Class::Utils qw(set_params);
  3         45955  
  3         67  
7 3     3   296 use Error::Pure qw(err);
  3         9  
  3         151  
8 3     3   17 use Scalar::Util qw(blessed);
  3         5  
  3         1052  
9              
10             our $VERSION = 0.04;
11              
12             # Constructor.
13             sub new {
14 1     1 1 358928 my ($class, @params) = @_;
15              
16             # Create object.
17 1         3 my $self = bless {}, $class;
18              
19             # Process parameters.
20 1         8 set_params($self, @params);
21              
22             # Object.
23 1         10 return $self;
24             }
25              
26             # Convert element to design.
27             sub element2design {
28 0     0 1   my ($self, $part) = @_;
29 0           $self->_check_part($part);
30 0           err "This is abstract class. element2design() method not implemented.";
31 0           return;
32             }
33              
34             # Convert design to element.
35             sub design2element {
36 0     0 1   my ($self, $part) = @_;
37 0           $self->_check_part($part);
38 0           err "This is abstract class. design2element() method not implemented.";
39 0           return;
40             }
41              
42             # Check part class.
43             sub _check_part {
44 0     0     my ($self, $part) = @_;
45 0 0 0       if (! blessed($part) || ! $part->isa('Lego::Part')) {
46 0           err "Part must be Lego::Part object.";
47             }
48 0           return;
49             }
50              
51             1;
52              
53             __END__