File Coverage

blib/lib/WebService/Heartrails/Express/Provider/Station.pm
Criterion Covered Total %
statement 12 24 50.0
branch 0 6 0.0
condition 0 3 0.0
subroutine 4 5 80.0
pod 0 1 0.0
total 16 39 41.0


line stmt bran cond sub pod time code
1             package WebService::Heartrails::Express::Provider::Station;
2 2     2   12 use strict;
  2         4  
  2         64  
3 2     2   10 use warnings;
  2         2  
  2         47  
4 2     2   10 use utf8;
  2         3  
  2         13  
5 2     2   34 use Carp;
  2         4  
  2         451  
6              
7             sub call{
8 0     0 0   my($self,$class,$arg) = @_;
9              
10 0           my $line = $arg->{line};
11 0           my $name = $arg->{name};
12              
13 0 0 0       unless(defined $line or defined $name){
14 0           croak("line or name is either required");
15             }
16              
17 0           my $sub_url = do{
18 0 0         if(not defined $line){
    0          
19 0           {method => 'getStations',name => $name};
20             }elsif(not defined $name){
21 0           {method => 'getStations',line => $line};
22             }else{
23 0           {method => 'getStations',line => $line ,name => $name};
24             }
25             };
26              
27 0           my $content = WebService::Heartrails::Express::Provider::Common::call($class,$sub_url);
28              
29 0           return JSON::decode_json($content)->{response}->{station};
30              
31             }
32              
33             1;