File Coverage

blib/lib/WebService/Yahoo/BOSS/Response/Web.pm
Criterion Covered Total %
statement 6 14 42.8
branch 0 2 0.0
condition n/a
subroutine 2 3 66.6
pod 0 1 0.0
total 8 20 40.0


line stmt bran cond sub pod time code
1             package WebService::Yahoo::BOSS::Response::Web;
2              
3             =head1 NAME
4              
5             WebService::Yahoo::BOSS::Response::Web
6              
7             =cut
8              
9 1     1   2104 use Moo;
  1         3  
  1         6  
10              
11 1     1   706 use Carp qw(croak);
  1         2  
  1         326  
12              
13             has 'abstract' => ( is => 'rw', required => 1 );
14             has 'date' => ( is => 'ro', required => 1 );
15             has 'dispurl' => ( is => 'ro', required => 1 );
16             has 'title' => ( is => 'rw', required => 1 );
17             has 'url' => ( is => 'ro', required => 1 );
18             has 'clickurl' => ( is => 'ro', required => 1 );
19              
20             sub parse {
21 0     0 0   my ($class, $bossresponse) = @_;
22              
23 0 0         my $web = $bossresponse->{web}
24 0           or croak "bossresponse doesn't contain a 'web' data: @{[ keys %$bossresponse ]}";
25              
26 0           my @webresults;
27 0           foreach my $result ( @{ $web->{results} } ) {
  0            
28 0           push @webresults, $class->new($result);
29             }
30              
31             return {
32 0           count => $web->{count},
33             totalresults => $web->{totalresults},
34             start => $web->{start},
35             results => \@webresults,
36             };
37             }
38              
39              
40             1;