File Coverage

blib/lib/Webservice/Judobase.pm
Criterion Covered Total %
statement 24 29 82.7
branch 0 2 0.0
condition n/a
subroutine 8 9 88.8
pod 1 1 100.0
total 33 41 80.4


line stmt bran cond sub pod time code
1 1     1   181605 use strict;
  1         2  
  1         24  
2 1     1   5 use warnings;
  1         1  
  1         37  
3              
4             $Webservice::Judobase::VERSION = '0.08';
5             # ABSTRACT: This module wraps the www.judobase.org website API.
6             # VERSION
7              
8             use Moo;
9 1     1   423 require HTTP::Request;
  1         5717  
  1         4  
10             require LWP::UserAgent;
11              
12             use Webservice::Judobase::Competitor;
13 1     1   1491 use Webservice::Judobase::Contests;
  1         3  
  1         28  
14 1     1   348 use Webservice::Judobase::Country;
  1         3  
  1         32  
15 1     1   395 use Webservice::Judobase::General;
  1         10  
  1         25  
16 1     1   315  
  1         2  
  1         23  
17             use namespace::clean;
18 1     1   6  
  1         1  
  1         3  
19             my $url = 'http://data.ijf.org/api/get_json';
20             my $ua = LWP::UserAgent->new;
21             $ua->agent("WebServiceJudobase/0.1 ");
22              
23             has 'competitor' => (
24             is => 'ro',
25             default => sub {
26             return Webservice::Judobase::Competitor->new(
27             ua => $ua,
28             url => $url,
29             );
30             },
31             );
32              
33             has 'contests' => (
34             is => 'ro',
35             default => sub {
36             return Webservice::Judobase::Contests->new(
37             ua => $ua,
38             url => $url,
39             );
40             },
41             );
42              
43             has 'country' => (
44             is => 'ro',
45             default => sub {
46             return Webservice::Judobase::Country->new(
47             ua => $ua,
48             url => $url,
49             );
50             },
51             );
52              
53             has 'general' => (
54             is => 'ro',
55             default => sub {
56             return Webservice::Judobase::General->new(
57             ua => $ua,
58             url => $url,
59             );
60             },
61             );
62              
63             my ($self) = @_;
64             my $ua = LWP::UserAgent->new;
65 0     0 1   my $request = HTTP::Request->new( GET => $url );
66 0            
67 0           my $response = $ua->request($request);
68              
69 0           return $response->code == 200 ? 1 : 0;
70             }
71 0 0          
72             1;