File Coverage

blib/lib/Pithub/GitData/Trees.pm
Criterion Covered Total %
statement 18 18 100.0
branch 6 6 100.0
condition n/a
subroutine 4 4 100.0
pod 2 2 100.0
total 30 30 100.0


line stmt bran cond sub pod time code
1             package Pithub::GitData::Trees;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01043';
4              
5             # ABSTRACT: Github v3 Git Data Trees API
6              
7 16     16   1496 use Moo;
  16         38  
  16         101  
8 16     16   6163 use Carp qw( croak );
  16         31  
  16         8212  
9             extends 'Pithub::Base';
10              
11              
12             sub create {
13 5     5 1 15099 my ( $self, %args ) = @_;
14             croak 'Missing key in parameters: data (hashref)'
15 5 100       53 unless ref $args{data} eq 'HASH';
16 3         24 $self->_validate_user_repo_args( \%args );
17             return $self->request(
18             method => 'POST',
19             path => sprintf(
20             '/repos/%s/%s/git/trees', delete $args{user}, delete $args{repo}
21 3         39 ),
22             %args,
23             );
24             }
25              
26              
27             sub get {
28 4     4 1 6449 my ( $self, %args ) = @_;
29 4 100       49 croak 'Missing key in parameters: sha' unless $args{sha};
30 3         25 $self->_validate_user_repo_args( \%args );
31             my $path = sprintf(
32             '/repos/%s/%s/git/trees/%s', $args{user}, $args{repo},
33             $args{sha}
34 3         15 );
35 3         9 my %params = ();
36 3 100       21 if ( $args{recursive} ) {
37 1         21 $params{recursive} = 1;
38             }
39 3         48 return $self->request(
40             method => 'GET',
41             path => $path,
42             params => \%params,
43             %args,
44             );
45             }
46              
47             1;
48              
49             __END__