File Coverage

blib/lib/WebService/Aladdin.pm
Criterion Covered Total %
statement 32 38 84.2
branch 1 4 25.0
condition 1 2 50.0
subroutine 9 10 90.0
pod 3 3 100.0
total 46 57 80.7


line stmt bran cond sub pod time code
1             package WebService::Aladdin;
2              
3 2     2   157241 use strict;
  2         5  
  2         69  
4 2     2   10 use warnings;
  2         4  
  2         46  
5 2     2   5009 use LWP::UserAgent;
  2         178731  
  2         77  
6 2     2   26 use URI;
  2         5  
  2         48  
7 2     2   14 use Carp;
  2         3  
  2         186  
8 2     2   1468 use WebService::Aladdin::Parser;
  2         15  
  2         64  
9              
10 2     2   12 use vars qw($VERSION);
  2         3  
  2         826  
11             $VERSION = '0.08';
12              
13             my $api_url_search = "http://www.aladdin.co.kr/ttb/api/search.aspx";
14             my $api_url_product = "http://www.aladdin.co.kr/ttb/api/ItemLookUp.aspx";
15              
16             sub new {
17 1     1 1 15 my ($class, $ttbkey) = @_;
18              
19 1   50     12 $ttbkey ||= 'ttbjeen1333001';
20 1         9 my $ua = LWP::UserAgent->new;
21 1         4872 $ua->agent('WebService::Aladdin / '.$VERSION);
22 1         111 bless {
23             TTBKey => $ttbkey,
24             ua => $ua,
25             }, $class;
26             }
27              
28             sub product {
29 0     0 1 0 my ($self, $id, $args) = @_;
30              
31 0         0 my $uri = URI->new($api_url_product);
32              
33 0 0       0 croak 'ItemId is required' unless $id;
34              
35 0         0 $uri->query_form( TTBKey => $self->{TTBKey},
36             ItemId => $id,
37             Output => 'OS',
38             );
39 0         0 my $res = $self->{ua}->get($uri);
40 0         0 WebService::Aladdin::Parser->parse_product($res);
41             }
42              
43             sub search {
44 1     1 1 477 my ($self, $keyword, $args) = @_;
45              
46 1         11 my $uri = URI->new($api_url_search);
47              
48 1 50       11823 croak 'Query is required' unless $keyword;
49              
50 1         25 $uri->query_form( Query => $keyword,
51             TTBKey => $self->{TTBKey},
52             QueryType => $args->{QueryType},
53             SearchTarget => $args->{SearchTarget},
54             Start => $args->{Start},
55             MaxResults => $args->{MaxResults},
56             Sort => $args->{Sort},
57             Cover => $args->{Cover},
58             TitleCut => $args->{TitleCut},
59             CategoryId => $args->{CategoryId},
60             Partner => $args->{Partner},
61             );
62              
63 1         345 my $res = $self->{ua}->get($uri);
64 1         9621537 WebService::Aladdin::Parser->parse_search($res);
65             }
66              
67             1;
68             __END__