File Coverage

blib/lib/Config/Frontend/Tie.pm
Criterion Covered Total %
statement 28 34 82.3
branch n/a
condition n/a
subroutine 9 12 75.0
pod n/a
total 37 46 80.4


line stmt bran cond sub pod time code
1             package Config::Frontend::Tie;
2              
3 1     1   24516 use strict;
  1         3  
  1         104  
4 1     1   1037 use Config::Frontend;
  1         1365  
  1         395  
5              
6             our $VERSION='0.02';
7              
8             sub TIEHASH {
9 4     4   1534 my ($class,$conf)=@_;
10 4         6 my $self;
11              
12 4         10 $self->{'conf'}=$conf;
13 4         8 bless $self,$class;
14              
15 4         14 return $self;
16             }
17              
18             sub FETCH {
19 12     12   2527 my ($self,$key)=@_;
20 12         41 return $self->{"conf"}->get($key);
21             }
22              
23             sub STORE {
24 2     2   914 my ($self,$key,$val)=@_;
25 2         9 $self->{"conf"}->set($key,$val);
26 2         84 return $val;
27             }
28              
29             sub DELETE {
30 2     2   1808 my ($self,$key)=@_;
31 2         7 $self->{"conf"}->del($key);
32             }
33              
34             sub EXISTS {
35 2     2   976 my ($self,$key)=@_;
36 2         10 return (defined $self->{"conf"}->get($key));
37             }
38              
39             sub CLEAR {
40 0     0   0 my ($self)=@_;
41 0         0 my @vars=$self->{"conf"}->variables();
42 0         0 for my $var (@vars) {
43 0         0 $self->{"conf"}->del($var);
44             }
45             }
46              
47             sub FIRSTKEY {
48 2     2   2412 my ($self)=@_;
49 2         10 my @vars=$self->{"conf"}->variables();
50 2         45 $self->{"vars"}=\@vars;
51 2         4 return shift @{$self->{"vars"}};
  2         11  
52             }
53              
54             sub NEXTKEY {
55 8     8   11 my ($self)=@_;
56 8         11 return shift @{$self->{"vars"}};
  8         34  
57             }
58              
59 0     0     sub UNTIE {
60             # Nothing to do.
61             }
62              
63 0     0     sub DESTROY {
64             # Nothing to do.
65             }
66              
67             1;
68             __END__