File Coverage

blib/lib/WebService/Recruit/HotPepper/Food.pm
Criterion Covered Total %
statement 12 16 75.0
branch n/a
condition n/a
subroutine 6 10 60.0
pod 5 7 71.4
total 23 33 69.7


line stmt bran cond sub pod time code
1             package WebService::Recruit::HotPepper::Food;
2 3     3   17 use strict;
  3         6  
  3         129  
3 3     3   16 use base qw( WebService::Recruit::HotPepper::Base );
  3         6  
  3         269  
4 3     3   17 use vars qw( $VERSION );
  3         6  
  3         1380  
5             $VERSION = '0.02';
6              
7 0     0 1 0 sub url { 'http://api.hotpepper.jp/Food/V110'; }
8 0     0 1 0 sub force_array { [qw( Food Error )]; }
9 0     0 1 0 sub elem_class { 'WebService::Recruit::HotPepper::Food::Element'; }
10 0     0 1 0 sub query_class { 'WebService::Recruit::HotPepper::Food::Query'; }
11              
12 3     3 0 43 sub query_fields { [qw(
13             key
14             FoodName FoodCD
15             )]; }
16 3     3 1 35 sub root_elem { 'Results'; }
17             sub elem_fields { {
18 3     3 0 42 Results => [qw(
19             NumberOfResults APIVersion
20             Food
21             )],
22             Food => [qw(
23             FoodName FoodCD
24             )],
25             }; }
26              
27             # __PACKAGE__->mk_query_accessors();
28              
29             @WebService::Recruit::HotPepper::Food::Query::ISA = qw( Class::Accessor::Fast );
30             WebService::Recruit::HotPepper::Food::Query->mk_accessors( @{query_fields()} );
31              
32             # __PACKAGE__->mk_elem_accessors();
33              
34             @WebService::Recruit::HotPepper::Food::Element::ISA = qw( Class::Accessor::Children::Fast );
35             WebService::Recruit::HotPepper::Food::Element->mk_ro_accessors( root_elem() );
36             WebService::Recruit::HotPepper::Food::Element->mk_child_ro_accessors( %{elem_fields()} );
37              
38             =head1 NAME
39              
40             WebService::Recruit::HotPepper::Food - HotPepper Web Service "Food" API
41              
42             =head1 SYNOPSIS
43              
44             use WebService::Recruit::HotPepper;
45              
46             my $api = WebService::Recruit::HotPepper->new();
47             $api->key( 'xxxxxxxxxxxxxxxx' );
48              
49             my $res = $api->Food();
50             die 'error!' if $res->is_error;
51              
52             my $list = $res->root->Food;
53             foreach my $area ( @$list ) {
54             print "name: ", $area->FoodName, "\n";
55             print "code: ", $area->FoodCD, "\n";
56             print "\n";
57             }
58              
59             =head1 DESCRIPTION
60              
61             This module is an interface for the C API.
62             It accepts following query parameters to make an request.
63              
64             my $res = $hpp->Food();
65              
66             C<$hpp> above is an instance of L.
67              
68             =head1 METHODS
69              
70             =head2 root
71              
72             This returns the root element of the response.
73              
74             my $root = $res->root;
75              
76             You can retrieve each element by the following accessors.
77              
78             $root->NumberOfResults;
79             $root->APIVersion;
80             $root->Food->[0]->FoodName;
81             $root->Food->[0]->FoodCD;
82              
83             =head2 xml
84              
85             This returns the raw response context itself.
86              
87             print $res->xml, "\n";
88              
89             =head2 code
90              
91             This returns the response status code.
92              
93             my $code = $res->code; # usually "200" when succeeded
94              
95             =head2 is_error
96              
97             This returns true value when the response has an error.
98              
99             die 'error!' if $res->is_error;
100              
101             =head1 SEE ALSO
102              
103             L
104              
105             =head1 AUTHOR
106              
107             Toshimasa Ishibashi L
108              
109             This module is unofficial and released by the author in person.
110              
111             =head1 THANKS TO
112              
113             Yusuke Kawasaki L
114              
115             For creating/preparing all the base modules and stuff.
116              
117             =head1 COPYRIGHT AND LICENSE
118              
119             Copyright (c) 2007 Toshimasa Ishibashi. All rights reserved.
120             This program is free software; you can redistribute it and/or
121             modify it under the same terms as Perl itself.
122              
123             =cut
124              
125             1;