NAME

PAUSE::Permissions::MetaCPAN - get module permissions from MetaCPAN API

SYNOPSIS

use PAUSE::Permissions::MetaCPAN;

my $api = PAUSE::Permissions::MetaCPAN->new;

my $perm = $api->get(author => 'SKAJI');
# {
#   co_maintainer => [
#     {
#       co_maintainers => ["MIYAGAWA", "SKAJI", "SLANNING", "SYOHEX"],
#       module_name => "Minilla",
#       owner => "TOKUHIROM",
#     },
#     ...
#   ],
#   owner => [
#     {
#       co_maintainers => [],
#       module_name => "Acme::RandomEmoji",
#       owner => "SKAJI",
#     },
#     ...
#   ],
# }

my $perm = $api->get(modules => ['LWP', 'NotFound', 'Plack']);
# {
#   LWP => {
#     co_maintainers => ["ETHER", "GAAS", "MSCHILLI", "MSTROUT", "OALDERS"],
#     module_name => "LWP",
#     owner => "LWWWP",
#   },
#   NotFound => undef,
#   Plack => {
#     co_maintainers => [],
#     module_name => "Plack",
#     owner => "MIYAGAWA",
#   },
# }

DESCRIPTION

PAUSE::Permissions::MetaCPAN gets module permissions from MetaCPAN API.

METHOD

new

my $api = PAUSE::Permissions::MetaCPAN->new;

Constructor. It optionally takes the following argument:

http

HTTP::Tiny object. Default is

HTTP::Tiny->new(verify_SSL => 1, agent => 'PAUSE-Permissions-MetaCPAN/VERSION')
url

MetaCPAN API url. Default is https://fastapi.metacpan.org/v1/permission/_search.

get

my $perm = $api->get(author => 'AUTHOR');
my $perm = $api->get(modules => ['Module1', 'Module2', ...]);

Get module permissions from MetaCPAN API. It must be called with either author or modules argument. It returns a hash reference that contains module permissions.

SEE ALSO

PAUSE::Permissions
https://fastapi.metacpan.org/

AUTHOR

Shoichi Kaji <skaji@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2018 Shoichi Kaji <skaji@cpan.org>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.