File Coverage

blib/lib/WebService/GData/Error.pm
Criterion Covered Total %
statement 21 22 95.4
branch 2 2 100.0
condition n/a
subroutine 7 8 87.5
pod 3 3 100.0
total 33 35 94.2


line stmt bran cond sub pod time code
1             package WebService::GData::Error;
2 19     19   71497 use WebService::GData 'private';
  19         37  
  19         135  
3 19     19   106 use base 'WebService::GData';
  19         30  
  19         1569  
4              
5 19     19   12916 use WebService::GData::Error::Entry;
  19         52  
  19         135  
6              
7             our $VERSION = 1.02;
8              
9             #avoid stringification
10             sub __to_string {
11 0     0   0 shift();
12             }
13              
14             sub __init {
15 8     8   19 my ($this,$statecode,$errstr) = @_;
16 8         419 $this->{_statecode} = $statecode;
17 8         20 $this->{_errstr} = $errstr;
18              
19 8         19 $this->{_errors} = [];
20 8 100       47 $this->_parse() if($errstr);
21 8         20 return $this;
22             }
23              
24             sub code {
25 6     6 1 1874 my $this = shift;
26 6         40 return $this->{_statecode};
27             }
28              
29             sub content {
30 3     3 1 8 my $this = shift;
31 3         17 return $this->{_errstr};
32             }
33              
34             sub errors {
35 2     2 1 18 my $this = shift;
36 2         5 return $this->{_errors};
37             }
38            
39             private _parse => sub {
40             my ($this) = @_;
41             my @errors = $this->{_errstr}=~m/(.+?)<\/error>/gms;
42             foreach my $error (@errors) {
43             my $entry = new WebService::GData::Error::Entry($error);
44             push @{$this->{_errors}},$entry;
45             }
46             };
47              
48             "The earth is blue like an orange.";
49              
50             __END__