File Coverage

blib/lib/WebService/Recruit/Akasugu/Age.pm
Criterion Covered Total %
statement 20 25 80.0
branch n/a
condition n/a
subroutine 10 15 66.6
pod 8 10 80.0
total 38 50 76.0


line stmt bran cond sub pod time code
1             package WebService::Recruit::Akasugu::Age;
2              
3 3     3   1140 use strict;
  3         4  
  3         101  
4 3     3   13 use base qw( WebService::Recruit::Akasugu::Base );
  3         5  
  3         211  
5 3     3   13 use vars qw( $VERSION );
  3         5  
  3         98  
6 3     3   13 use Class::Accessor::Fast;
  3         4  
  3         17  
7 3     3   94 use Class::Accessor::Children::Fast;
  3         6  
  3         15  
8              
9             $VERSION = '0.0.1';
10              
11 0     0 1 0 sub http_method { 'GET'; }
12              
13 0     0 1 0 sub url { 'http://webservice.recruit.co.jp/akasugu/age/v1/'; }
14              
15 1     1 1 33 sub query_class { 'WebService::Recruit::Akasugu::Age::Query'; }
16              
17             sub query_fields { [
18 3     3 0 29 'key'
19             ]; }
20              
21             sub default_param { {
22 1     1 1 481 'format' => 'xml'
23             }; }
24              
25             sub notnull_param { [
26 0     0 1 0 'key'
27             ]; }
28              
29 0     0 1 0 sub elem_class { 'WebService::Recruit::Akasugu::Age::Element'; }
30              
31 3     3 1 32 sub root_elem { 'results'; }
32              
33             sub elem_fields { {
34 3     3 0 2458 'age' => ['code', 'name'],
35             'error' => ['message'],
36             'results' => ['api_version', 'results_available', 'results_returned', 'results_start', 'age', 'api_version', 'error'],
37              
38             }; }
39              
40             sub force_array { [
41 0     0 1   'age'
42             ]; }
43              
44             # __PACKAGE__->mk_query_accessors();
45              
46             @WebService::Recruit::Akasugu::Age::Query::ISA = qw( Class::Accessor::Fast );
47             WebService::Recruit::Akasugu::Age::Query->mk_accessors( @{query_fields()} );
48              
49             # __PACKAGE__->mk_elem_accessors();
50              
51             @WebService::Recruit::Akasugu::Age::Element::ISA = qw( Class::Accessor::Children::Fast );
52             WebService::Recruit::Akasugu::Age::Element->mk_ro_accessors( root_elem() );
53             WebService::Recruit::Akasugu::Age::Element->mk_child_ro_accessors( %{elem_fields()} );
54              
55             =head1 NAME
56              
57             WebService::Recruit::Akasugu::Age - Akasugu.net Web Service "age" API
58              
59             =head1 SYNOPSIS
60              
61             use WebService::Recruit::Akasugu;
62            
63             my $service = WebService::Recruit::Akasugu->new();
64            
65             my $param = {
66             'key' => $ENV{'WEBSERVICE_RECRUIT_KEY'},
67             };
68             my $res = $service->age( %$param );
69             my $data = $res->root;
70             print "api_version: $data->api_version\n";
71             print "results_available: $data->results_available\n";
72             print "results_returned: $data->results_returned\n";
73             print "results_start: $data->results_start\n";
74             print "age: $data->age\n";
75             print "...\n";
76              
77             =head1 DESCRIPTION
78              
79             This module is a interface for the C API.
80             It accepts following query parameters to make an request.
81              
82             my $param = {
83             'key' => 'XXXXXXXX',
84             };
85             my $res = $service->age( %$param );
86              
87             C<$service> above is an instance of L.
88              
89             =head1 METHODS
90              
91             =head2 root
92              
93             This returns the root element of the response.
94              
95             my $root = $res->root;
96              
97             You can retrieve each element by the following accessors.
98              
99             $root->api_version
100             $root->results_available
101             $root->results_returned
102             $root->results_start
103             $root->age
104             $root->age->[0]->code
105             $root->age->[0]->name
106              
107              
108             =head2 xml
109              
110             This returns the raw response context itself.
111              
112             print $res->xml, "\n";
113              
114             =head2 code
115              
116             This returns the response status code.
117              
118             my $code = $res->code; # usually "200" when succeeded
119              
120             =head2 is_error
121              
122             This returns true value when the response has an error.
123              
124             die 'error!' if $res->is_error;
125              
126             =head1 SEE ALSO
127              
128             L
129              
130             =head1 AUTHOR
131              
132             RECRUIT Media Technology Labs
133              
134             =head1 COPYRIGHT
135              
136             Copyright 2008 RECRUIT Media Technology Labs
137              
138             =cut
139             1;