File Coverage

blib/lib/WebService/Hexonet/Connector/Column.pm
Criterion Covered Total %
statement 29 29 100.0
branch 2 2 100.0
condition n/a
subroutine 9 9 100.0
pod 5 5 100.0
total 45 45 100.0


line stmt bran cond sub pod time code
1             package WebService::Hexonet::Connector::Column;
2              
3 1     1   18 use 5.026_000;
  1         3  
4 1     1   5 use strict;
  1         2  
  1         19  
5 1     1   5 use warnings;
  1         2  
  1         27  
6              
7 1     1   5 use version 0.9917; our $VERSION = version->declare('v2.9.1');
  1         14  
  1         6  
8              
9              
10             sub new {
11 156     156 1 2825 my ( $class, $key, @data ) = @_;
12 156         326 my $self = {};
13 156         370 $self->{key} = $key;
14 156         289 @{ $self->{data} } = @data;
  156         1134  
15 156         330 $self->{length} = scalar @data;
16 156         579 return bless $self, $class;
17             }
18              
19              
20             sub getKey {
21 1     1 1 615 my $self = shift;
22 1         10 return $self->{key};
23             }
24              
25              
26             sub getData {
27 4     4 1 15 my $self = shift;
28 4         21 return $self->{data};
29             }
30              
31              
32             sub getDataByIndex {
33 18937     18937 1 28648 my $self = shift;
34 18937         26459 my $idx = shift;
35 18937 100       33756 return $self->{data}[ $idx ]
36             if $self->hasDataIndex($idx);
37 15576         32716 return;
38             }
39              
40              
41             sub hasDataIndex {
42 18937     18937 1 26758 my $self = shift;
43 18937         27219 my $idx = shift;
44 18937         50691 return $idx < $self->{length};
45             }
46              
47             1;
48              
49             __END__