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.01039';
4             # ABSTRACT: Github v3 Git Data Trees API
5              
6 15     15   873 use Moo;
  15         24  
  15         69  
7 15     15   3795 use Carp qw( croak );
  15         56  
  15         3570  
8             extends 'Pithub::Base';
9              
10              
11             sub create {
12 5     5 1 8398 my ( $self, %args ) = @_;
13 5 100       35 croak 'Missing key in parameters: data (hashref)' unless ref $args{data} eq 'HASH';
14 3         23 $self->_validate_user_repo_args( \%args );
15             return $self->request(
16             method => 'POST',
17 3         34 path => sprintf( '/repos/%s/%s/git/trees', delete $args{user}, delete $args{repo} ),
18             %args,
19             );
20             }
21              
22              
23             sub get {
24 4     4 1 3764 my ( $self, %args ) = @_;
25 4 100       20 croak 'Missing key in parameters: sha' unless $args{sha};
26 3         23 $self->_validate_user_repo_args( \%args );
27 3         18 my $path = sprintf( '/repos/%s/%s/git/trees/%s', $args{user}, $args{repo}, $args{sha} );
28 3         7 my %params = ();
29 3 100       9 if ( $args{recursive} ) {
30 1         2 $params{recursive} = 1;
31             }
32 3         19 return $self->request(
33             method => 'GET',
34             path => $path,
35             params => \%params,
36             %args,
37             );
38             }
39              
40             1;
41              
42             __END__