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