PAUSE-Permissions
view release on metacpan or search on metacpan
lib/PAUSE/Permissions/Module.pm view on Meta::CPAN
package PAUSE::Permissions::Module;
$PAUSE::Permissions::Module::VERSION = '0.17';
use Moo;
# TODO: I had isa when I was using Moose, need to put those back
has 'name' => (is => 'ro');
# has 'm' => (is => 'ro', isa => 'Str');
has 'm' => (is => 'ro');
# has 'f' => (is => 'ro', isa => 'Str');
has 'f' => (is => 'ro');
# has 'c' => (is => 'ro', isa => 'ArrayRef[Str]');
has 'c' => (is => 'ro');
sub owner
{
my $self = shift;
return $self->m || $self->f || undef;
}
sub registered_maintainer
{
my $self = shift;
return $self->m || undef;
}
sub first_come
{
my $self = shift;
return $self->f || undef;
}
sub co_maintainers
{
my $self = shift;
my @comaints;
push(@comaints, $self->f) if defined($self->m) && defined($self->f);
push(@comaints, @{ $self->c }) if defined($self->c);
@comaints = sort @comaints;
return @comaints;
}
sub all_maintainers
{
my $self = shift;
my @all;
push(@all, $self->m) if defined($self->m);
push(@all, $self->f) if defined($self->f);
push(@all, @{ $self->c }) if defined($self->c);
@all = sort @all;
return @all;
}
1;
=head1 NAME
PAUSE::Permissions::Module - PAUSE permissions for one module (from 06perms.txt)
=head1 SYNOPSIS
use PAUSE::Permissions::Module;
my %options =
(
name => 'HTTP::Client',
m => 'LINC',
( run in 1.737 second using v1.01-cache-2.11-cpan-39bf76dae61 )