File Coverage

blib/lib/IBM/StorageSystem/Enclosure/Canister.pm
Criterion Covered Total %
statement 12 21 57.1
branch 0 4 0.0
condition n/a
subroutine 4 20 20.0
pod 0 1 0.0
total 16 46 34.7


line stmt bran cond sub pod time code
1             package IBM::StorageSystem::Enclosure::Canister;
2              
3 1     1   5 use strict;
  1         2  
  1         37  
4 1     1   8 use warnings;
  1         3  
  1         26  
5              
6 1     1   6 use Carp qw(croak);
  1         2  
  1         102  
7              
8             our @ATTR = qw(FRU_identity FRU_part_number SAS_port_1_status SAS_port_2_status SES_status WWNN canister_id enclosure_id error_sequence_number fault_LED firmware_level firmware_level_2 firmware_level_3 firmware_level_4 firmware_level_5 node_id node_name status temperature type);
9              
10             foreach my $attr ( @ATTR ) {
11             {
12 1     1   6 no strict 'refs';
  1         2  
  1         208  
13             *{ __PACKAGE__ .'::'. $attr } = sub {
14 0     0     my( $self, $val ) = @_;
        0      
        0      
        0      
        0      
        0      
        0      
        0      
        0      
        0      
        0      
        0      
        0      
        0      
        0      
15 0 0         $self->{$attr} = $val if $val;
16 0           return $self->{$attr}
17             }
18             }
19             }
20              
21             sub new {
22 0     0 0   my( $class, $ibm, %args ) = @_;
23 0           my $self = bless {}, $class;
24 0 0         defined $args{canister_id} or croak 'Constructor failed: mandatory argument canister_id not supplied';
25              
26 0           foreach my $attr ( @ATTR ) { $self->{$attr} = $args{$attr} }
  0            
27              
28 0           return $self
29             }
30              
31             1;
32              
33             __END__