File Coverage

blib/lib/Apertur/SDK/Resource/Uploads.pm
Criterion Covered Total %
statement 11 23 47.8
branch 0 4 0.0
condition n/a
subroutine 4 7 57.1
pod 2 3 66.6
total 17 37 45.9


line stmt bran cond sub pod time code
1             package Apertur::SDK::Resource::Uploads;
2              
3 1     1   8 use strict;
  1         3  
  1         43  
4 1     1   7 use warnings;
  1         1  
  1         59  
5              
6 1     1   7 use URI::Escape qw(uri_escape);
  1         3  
  1         464  
7              
8             sub new {
9 3     3 0 6 my ($class, %args) = @_;
10 3         17 return bless { http => $args{http} }, $class;
11             }
12              
13             sub list {
14 0     0 1   my ($self, %params) = @_;
15 0           my $qs = _build_query_string(%params);
16 0           return $self->{http}->request('GET', "/api/v1/uploads$qs");
17             }
18              
19             sub recent {
20 0     0 1   my ($self, %params) = @_;
21 0           my $qs = _build_query_string(%params);
22 0           return $self->{http}->request('GET', "/api/v1/uploads/recent$qs");
23             }
24              
25             sub _build_query_string {
26 0     0     my (%params) = @_;
27 0           my @parts;
28 0           for my $key (sort keys %params) {
29 0 0         next unless defined $params{$key};
30 0           push @parts, uri_escape($key) . '=' . uri_escape($params{$key});
31             }
32 0 0         return @parts ? '?' . join('&', @parts) : '';
33             }
34              
35             1;
36              
37             __END__