File Coverage

blib/lib/WWW/Gitea/API/Users.pm
Criterion Covered Total %
statement 12 24 50.0
branch 0 4 0.0
condition n/a
subroutine 4 8 50.0
pod 2 2 100.0
total 18 38 47.3


line stmt bran cond sub pod time code
1             package WWW::Gitea::API::Users;
2              
3             # ABSTRACT: Gitea users API (lookup and search)
4              
5 3     3   15 use Moo;
  3         5  
  3         17  
6 3     3   1037 use Carp qw(croak);
  3         4  
  3         181  
7 3     3   13 use WWW::Gitea::User;
  3         4  
  3         75  
8 3     3   13 use namespace::clean;
  3         4  
  3         32  
9              
10              
11             has client => (
12             is => 'ro',
13             required => 1,
14             weak_ref => 1,
15             );
16              
17              
18             has openapi_operations => (
19             is => 'lazy',
20             builder => sub {
21             return {
22 0     0     'users.get' => { method => 'GET', path => '/users/{username}' },
23             'users.search' => { method => 'GET', path => '/users/search' },
24             };
25             },
26             );
27              
28              
29             with 'WWW::Gitea::Role::OpenAPI';
30              
31             sub _wrap {
32 0     0     my ($self, $data) = @_;
33 0           return WWW::Gitea::User->new(client => $self->client, data => $data);
34             }
35              
36             sub get {
37 0     0 1   my ($self, $username) = @_;
38 0 0         croak 'username required' unless defined $username;
39 0           my $data = $self->call_operation('users.get',
40             path => { username => $username });
41 0           return $self->_wrap($data);
42             }
43              
44              
45             sub search {
46 0     0 1   my ($self, %query) = @_;
47 0           my $data = $self->call_operation('users.search', query => \%query);
48 0 0         return [ map { $self->_wrap($_) } @{ $data->{data} || [] } ];
  0            
  0            
49             }
50              
51              
52              
53             1;
54              
55             __END__