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.01041';
4              
5             # ABSTRACT: Github v3 Git Data Trees API
6              
7 16     16   1201 use Moo;
  16         38  
  16         88  
8 16     16   5189 use Carp qw( croak );
  16         33  
  16         4464  
9             extends 'Pithub::Base';
10              
11              
12             sub create {
13 5     5 1 9891 my ( $self, %args ) = @_;
14             croak 'Missing key in parameters: data (hashref)'
15 5 100       40 unless ref $args{data} eq 'HASH';
16 3         23 $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         34 ),
22             %args,
23             );
24             }
25              
26              
27             sub get {
28 4     4 1 4758 my ( $self, %args ) = @_;
29 4 100       35 croak 'Missing key in parameters: sha' unless $args{sha};
30 3         17 $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         19 );
35 3         10 my %params = ();
36 3 100       11 if ( $args{recursive} ) {
37 1         3 $params{recursive} = 1;
38             }
39 3         24 return $self->request(
40             method => 'GET',
41             path => $path,
42             params => \%params,
43             %args,
44             );
45             }
46              
47             1;
48              
49             __END__