File Coverage

lib/Net/API/CPAN/Permission.pm
Criterion Covered Total %
statement 32 33 96.9
branch 4 8 50.0
condition n/a
subroutine 11 12 91.6
pod 5 5 100.0
total 52 58 89.6


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Meta CPAN API - ~/lib/Net/API/CPAN/Permission.pm
3             ## Version v0.1.0
4             ## Copyright(c) 2023 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2023/07/25
7             ## Modified 2023/09/25
8             ## All rights reserved
9             ##
10             ##
11             ## This program is free software; you can redistribute it and/or modify it
12             ## under the same terms as Perl itself.
13             ##----------------------------------------------------------------------------
14             # This module file has been automatically generated. Any change made here will be lost.
15             # Edit the script in ./build/build_modules.pl instead
16             package Net::API::CPAN::Permission;
17             BEGIN
18             {
19 2     2   225088 use strict;
  2         15  
  2         57  
20 2     2   9 use warnings;
  2         11  
  2         51  
21 2     2   7 use parent qw( Net::API::CPAN::Generic );
  2         4  
  2         12  
22 2     2   148 use vars qw( $VERSION );
  2         4  
  2         90  
23 2     2   34 our $VERSION = 'v0.1.0';
24             };
25              
26 2     2   10 use strict;
  2         3  
  2         31  
27 2     2   8 use warnings;
  2         6  
  2         401  
28              
29             sub init
30             {
31 1     1 1 9647 my $self = shift( @_ );
32 1 50       61 $self->{co_maintainers} = [] unless( CORE::exists( $self->{co_maintainers} ) );
33 1 50       6 $self->{module_name} = undef unless( CORE::exists( $self->{module_name} ) );
34 1         3 $self->{object} = 'permission';
35 1 50       3 $self->{owner} = undef unless( CORE::exists( $self->{owner} ) );
36 1         3 $self->{_init_strict_use_sub} = 1;
37 1         9 $self->{_exception_class} = 'Net::API::CPAN::Exception';
38 1 50       6 $self->SUPER::init( @_ ) || return( $self->pass_error );
39 1         6 $self->{fields} = [qw( co_maintainers module_name owner )];
40 1         3 return( $self );
41             }
42              
43 2     2 1 57024 sub co_maintainers { return( shift->_set_get_array_as_object( 'co_maintainers', @_ ) ); }
44              
45 2     2 1 4357 sub module_name { return( shift->_set_get_scalar_as_object( 'module_name', @_ ) ); }
46              
47 0     0 1 0 sub object { return( shift->_set_get_scalar_as_object( 'object', @_ ) ); }
48              
49 2     2 1 1437 sub owner { return( shift->_set_get_scalar_as_object( 'owner', @_ ) ); }
50              
51             1;
52             # NOTE: POD
53             __END__
54              
55             =encoding utf-8
56              
57             =head1 NAME
58              
59             Net::API::CPAN::Permission - Meta CPAN API Permission Class
60              
61             =head1 SYNOPSIS
62              
63             use Net::API::CPAN::Permission;
64             my $obj = Net::API::CPAN::Permission->new( {
65             co_maintainers => [
66             "URASHIMATARO",
67             "KINTARO",
68             "YAMATONADESHIKO",
69             ],
70             module_name => "Folklore::Japan",
71             owner => "MOMOTARO",
72             } ) || die( Net::API::CPAN::Permission->error );
73            
74             my $array = $obj->co_maintainers;
75             my $string = $obj->module_name;
76             my $str = $obj->object;
77             my $string = $obj->owner;
78              
79             =head1 VERSION
80              
81             v0.1.0
82              
83             =head1 DESCRIPTION
84              
85             This class serves to retrieve and manipulate permissions.
86              
87             It inherits from L<Net::API::CPAN::Generic>
88              
89             =head1 CONSTRUCTOR
90              
91             =head2 new
92              
93             Provided with an hash or hash reference of parameters, and this instantiates a new C<Net::API::CPAN::Permission> object.
94              
95             The parameters that can be provided bear the same name and supports the same values as the methods below.
96              
97             =head1 METHODS
98              
99             =head2 co_maintainers
100              
101             $obj->co_maintainers( [
102             "URASHIMATARO",
103             "KINTARO",
104             "YAMATONADESHIKO",
105             ] );
106             my $array = $obj->co_maintainers;
107              
108             Sets or gets an array of co_maintainers and returns an L<array object|Module::Generic::Array>, even if there is no value.
109              
110             =head2 module_name
111              
112             $obj->module_name( "Folklore::Japan" );
113             my $string = $obj->module_name;
114              
115             Sets or gets a string and returns a L<scalar object|Module::Generic::Scalar>, even if there is no value.
116              
117             =head2 object
118              
119             Returns the object type for this class, which is C<permission>
120              
121             =head2 owner
122              
123             $obj->owner( "MOMOTARO" );
124             my $string = $obj->owner;
125              
126             Sets or gets a string and returns a L<scalar object|Module::Generic::Scalar>, even if there is no value.
127              
128             =head1 API SAMPLE
129              
130             {
131             "co_maintainers" : [
132             "URASHIMATARO",
133             "KINTARO",
134             "YAMATONADESHIKO"
135             ],
136             "module_name" : "Folklore::Japan",
137             "owner" : "MOMOTARO"
138             }
139              
140             =head1 AUTHOR
141              
142             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
143              
144             =head1 SEE ALSO
145              
146             L<Net::API::CPAN>, L<Net::API::CPAN::Activity>, L<Net::API::CPAN::Author>, L<Net::API::CPAN::Changes>, L<Net::API::CPAN::Changes::Release>, L<Net::API::CPAN::Contributor>, L<Net::API::CPAN::Cover>, L<Net::API::CPAN::Diff>, L<Net::API::CPAN::Distribution>, L<Net::API::CPAN::DownloadUrl>, L<Net::API::CPAN::Favorite>, L<Net::API::CPAN::File>, L<Net::API::CPAN::Module>, L<Net::API::CPAN::Package>, L<Net::API::CPAN::Permission>, L<Net::API::CPAN::Rating>, L<Net::API::CPAN::Release>
147              
148             L<MetaCPAN::API>, L<MetaCPAN::Client>
149              
150             L<https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md>
151              
152             =head1 COPYRIGHT & LICENSE
153              
154             Copyright(c) 2023 DEGUEST Pte. Ltd.
155              
156             All rights reserved
157              
158             This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
159              
160             =cut
161