view release on metacpan or search on metacpan
Changes
examples/author_info
examples/check100.pl
examples/count
examples/data/backpan100.csv
examples/templates/LICENSE
examples/templates/META.json
examples/templates/META.yml
examples/templates/README
examples/templates/lib/Acme/CPANAuthors/BackPAN/OneHundred.pm
examples/templates/t/10cpanauthor.t
examples/update100.pl
lib/Acme/CPANAuthors/BackPAN/OneHundred.pm
LICENSE
Makefile.PL
MANIFEST
META.json
META.yml
README
t/00load.t
t/10cpanauthor.t
t/90podtest.t
t/91podcover.t
t/94metatest.t
t/95changedate.t
t/96metatest.t
{
"name": "Acme-CPANAuthors-BackPAN-OneHundred",
"version": "1.13",
"abstract": "The CPAN Authors who have 100+ distributions on BackPAN",
"author": [
"Barbie (BARBIE) <barbie@cpan.org>"
],
"license": [ "artistic_2" ],
"dynamic_config" : 0,
"release_status" : "stable",
"meta-spec": {
"version": "2",
"url": "http://search.cpan.org/dist/CPAN-Meta/lib/CPAN/Meta/Spec.pm"
},
"generated_by": "update100.pl 1.01",
"keywords" : [
"acme",
"cpan",
"authors"
],
"prereqs" : {
"runtime" : {
"requires" : {
"perl": "5.006",
"Acme::CPANAuthors": "0.04"
}
},
"test" : {
}
},
"no_index": {
"directory": ["t","examples"]
},
"resources": {
"license": [ "http://www.perlfoundation.org/artistic_license_2_0" ],
"bugtracker": { "web": "http://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANAuthors-BackPAN-OneHundred" },
"repository": {
"url": "git://github.com/barbie/acme-cpanauthors-backpan-onehundred.git",
"web": "http://github.com/barbie/acme-cpanauthors-backpan-onehundred",
"type": "git"
}
}
}
--- #YAML:1.0
name: Acme-CPANAuthors-BackPAN-OneHundred
version: 1.13
abstract: The CPAN Authors who have 100+ distributions on BackPAN
author:
- Barbie <barbie@cpan.org>
license: artistic_2
distribution_type: module
installdirs: site
requires:
perl: 5.006
Acme::CPANAuthors: 0.04
recommends:
version: 1.13
no_index:
directory:
- t
- examples
resources:
license: http://www.perlfoundation.org/artistic_license_2_0
bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANAuthors-BackPAN-OneHundred
repository: http://github.com/barbie/acme-cpanauthors-backpan-onehundred
meta-spec:
version: 1.4
url: http://module-build.sourceforge.net/META-spec-v1.4.html
generated_by: update100.pl 1.01
examples/author_info view on Meta::CPAN
#!/usr/bin/perl
use warnings;
use strict;
use Acme::CPANAuthors;
die "usage: $0 PAUSE_ID [PAUSE_ID ...]\n" unless @ARGV;
my $authors = Acme::CPANAuthors->new("CPAN::OneHundred");
for my $id (@ARGV) {
$id = uc $id;
my $name = $authors->name($id) || $id;
my @dists = $authors->distributions($id);
my $kwalitee = $authors->kwalitee($id);
print "$name has published ", ~~@dists," distributions:\n";
@dists = sort { lc($a->dist) cmp lc($b->dist) } @dists;
for my $dist (@dists) {
printf " - %s v%s, kwalitee %s\n",
$dist->dist, $dist->version,
$kwalitee->{distributions}{ $dist->dist }{kwalitee},
}
examples/count view on Meta::CPAN
#!/usr/bin/perl
use warnings;
use strict;
use Acme::CPANAuthors;
my $authors = Acme::CPANAuthors->new("CPANs::/OneHundred");
my $number = $authors->count;
print "$number CPAN authors 100 or distributions on CPAN\n";
examples/templates/META.json view on Meta::CPAN
{
"name": "Acme-CPANAuthors-BackPAN-OneHundred",
"version": "[% VERSION %]",
"abstract": "The CPAN Authors who have 100+ distributions on BackPAN",
"author": [
"Barbie (BARBIE) <barbie@cpan.org>"
],
"license": [ "artistic_2" ],
"dynamic_config" : 0,
"release_status" : "stable",
"meta-spec": {
"version": "2",
"url": "http://search.cpan.org/dist/CPAN-Meta/lib/CPAN/Meta/Spec.pm"
},
"generated_by": "update100.pl 1.01",
"keywords" : [
"acme",
"cpan",
"authors"
],
"prereqs" : {
"runtime" : {
"requires" : {
"perl": "5.006",
"Acme::CPANAuthors": "0.04"
}
},
"test" : {
examples/templates/META.json view on Meta::CPAN
}
},
"no_index": {
"directory": ["t","examples"]
},
"resources": {
"license": [ "http://www.perlfoundation.org/artistic_license_2_0" ],
"bugtracker": { "web": "http://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANAuthors-BackPAN-OneHundred" },
"repository": {
"url": "git://github.com/barbie/acme-cpanauthors-backpan-onehundred.git",
"web": "http://github.com/barbie/acme-cpanauthors-backpan-onehundred",
"type": "git"
}
}
}
examples/templates/META.yml view on Meta::CPAN
--- #YAML:1.0
name: Acme-CPANAuthors-BackPAN-OneHundred
version: [% VERSION %]
abstract: The CPAN Authors who have 100+ distributions on BackPAN
author:
- Barbie <barbie@cpan.org>
license: artistic_2
distribution_type: module
installdirs: site
requires:
perl: 5.006
Acme::CPANAuthors: 0.04
recommends:
examples/templates/META.yml view on Meta::CPAN
no_index:
directory:
- t
- examples
resources:
license: http://www.perlfoundation.org/artistic_license_2_0
bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANAuthors-BackPAN-OneHundred
repository: http://github.com/barbie/acme-cpanauthors-backpan-onehundred
meta-spec:
version: 1.4
url: http://module-build.sourceforge.net/META-spec-v1.4.html
generated_by: update100.pl 1.01
examples/templates/lib/Acme/CPANAuthors/BackPAN/OneHundred.pm view on Meta::CPAN
__END__
=encoding UTF-8
=head1 NAME
Acme::CPANAuthors::BackPAN::OneHundred - The CPAN Authors who have 100+ distributions on BackPAN
=head1 DESCRIPTION
This class provides a hash of CPAN authors' PAUSE ID and name to be
used with the C<Acme::CPANAuthors> module.
This module was created to capture all those CPAN Authors who have valiantly
submitted their modules and distributions to CPAN, and now have the honour of
having submitted 100 or more distributions to CPAN.
Note that the CPAN authors listed here may not be maintaining 100 or more
distributions on CPAN, but have submitted 100 or more distributions to PAUSE,
where some older distributions may have been deprecated or adopted by other
authors. The numbers here represent the number of distributions a CPAN author
has listed on BackPAN.
See L<http://backpan.cpantesters.org>.
=head1 THE AUTHORS
[% FOREACH item = LIST2 %]
[% item %]
[% END %]
List last updated: [% WHEN %]
=head1 MAINTENANCE
If you are aware of any CPAN author that has attained the heady heights of 100
distributions on CPAN, and who is not listed here, please send me their ID/name
via email or RT, and I will update the module. If there are any mistakes,
please contact me as soon as possible, and I'll amend the entry right away.
=head1 SEE ALSO
L<Acme::CPANAuthors> - Main class to manipulate this one
L<Acme::CPANAuthors::CPAN::OneHundred> - 100+ distributions on CPAN.
examples/templates/lib/Acme/CPANAuthors/BackPAN/OneHundred.pm view on Meta::CPAN
Bugs, patches and feature requests can be reported at:
=over 4
=item * RT: CPAN's request tracker
L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Acme-CPANAuthors-BackPAN-OneHundred>
=item * GitHub
L<http://github.com/barbie/acme-cpanauthors-backpan-onehundred>
=back
There are no known bugs at the time of this release. However, if you spot a
bug or are experiencing difficulties that are not explained within the POD
documentation, please send an email to barbie@cpan.org or submit a bug to
the RT queue. However, it would help greatly if you are able to pinpoint
problems or even supply a patch.
Fixes are dependent upon their severity and my availability. Should a fix
examples/templates/t/10cpanauthor.t view on Meta::CPAN
#!perl
use strict;
use warnings;
use Test::More;
plan skip_all => "can't load Acme::CPANAuthors"
unless eval "use Acme::CPANAuthors; 1";
plan tests => 9;
my $authors = eval { Acme::CPANAuthors->new("BackPAN::OneHundred") };
is( $@, "", "creating a new Acme::CPANAuthors object with BackPAN 100 authors" );
isa_ok( $authors, "Acme::CPANAuthors" );
my $number = [% COUNT %];
is( $authors->count, $number, " .. \$authors->count matches current count" );
my @ids = $authors->id;
cmp_ok( ~~@ids, ">", 0, " .. \$authors->id gives a non-empty list" );
is( ~~@ids, $number, " .. \$authors->id equals \$authors->count" );
SKIP: {
my $file;
eval { $file = Acme::CPANAuthors::Utils::_cpan_authors_file() };
skip "CPAN configuration not available", 4 if($@ || !$file);
$file = undef;
eval { $file = Acme::CPANAuthors::Utils::_cpan_packages_file() };
skip "CPAN configuration not available", 4 if($@ || !$file);
my @distros = $authors->distributions('[% TOPDOG %]');
cmp_ok( ~~@distros, ">", 0, " .. \$authors->distributions('[% TOPDOG %]') gives a non-empty list" );
@distros = $authors->distributions('XXXXXX');
cmp_ok( ~~@distros, "==", 0, " .. \$authors->distributions('XXXXXX') gives an empty list" );
my $name = $authors->name('[% TOPDOG %]');
is($name, "[% TOPCAT %]", " .. \$authors->name('[% TOPDOG %]') returns [% TOPCAT %]" );
# SKIP: {
# skip "en.gravatar.com is not available", 2
# if(pingtest('en.gravatar.com'));
#
# my $url;
# eval { $url = $authors->avatar_url('[% TOPDOG %]') };
# skip "en.gravatar.com is not available", 1 if($@);
# $url ||= '';
# is($url, 'http://www.gravatar.com/avatar/2459f554c069e44527716e3f35e1d0d1', ".. \$authors->avatar_url('[% TOPDOG %]') returns a URL" );
#
# eval { $url = $authors->avatar_url('BARBIE') };
# skip "en.gravatar.com is not available", 1 if($@);
# $url ||= '';
# cmp_ok( length($url), ">", 0, " .. \$authors->avatar_url('BINGOS') gives a non-empty string" );
# }
SKIP: {
skip "api.cpanauthors.org is not available", 1
if(pingtest('api.cpanauthors.org'));
my $kwalitee;
eval { $kwalitee = $authors->kwalitee('[% TOPDOG %]') };
skip "api.cpanauthors.org is not available", 1 if($@);
isa_ok( $kwalitee, "HASH", " .. \$authors->kwalitee('[% TOPDOG %]')" );
}
}
sub pingtest {
my $domain = shift or return 1;
my $cmd = $^O =~ /solaris/i ? "ping -s $domain 56 1" :
$^O =~ /dos|os2|mswin32|netware|cygwin/i ? "ping -n 1 $domain "
: "ping -c 1 $domain >/dev/null 2>&1";
eval { system($cmd) };
examples/update100.pl view on Meta::CPAN
my (%options,%old,%new,%tvars,%pause,%changes);
my $changed = 0;
my $max = 4;
my @files = qw(
lib/Acme/CPANAuthors/BackPAN/OneHundred.pm
LICENSE
META.json
META.yml
README
t/10cpanauthor.t
);
my %config = ( # default config info
RELATIVE => 1,
ABSOLUTE => 1,
INTERPOLATE => 0,
POST_CHOMP => 1,
TRIM => 0,
INCLUDE_PATH => 'templates',
OUTPUT_PATH => '..'
lib/Acme/CPANAuthors/BackPAN/OneHundred.pm view on Meta::CPAN
__END__
=encoding UTF-8
=head1 NAME
Acme::CPANAuthors::BackPAN::OneHundred - The CPAN Authors who have 100+ distributions on BackPAN
=head1 DESCRIPTION
This class provides a hash of CPAN authors' PAUSE ID and name to be
used with the C<Acme::CPANAuthors> module.
This module was created to capture all those CPAN Authors who have valiantly
submitted their modules and distributions to CPAN, and now have the honour of
having submitted 100 or more distributions to CPAN.
Note that the CPAN authors listed here may not be maintaining 100 or more
distributions on CPAN, but have submitted 100 or more distributions to PAUSE,
where some older distributions may have been deprecated or adopted by other
authors. The numbers here represent the number of distributions a CPAN author
has listed on BackPAN.
See L<http://backpan.cpantesters.org>.
=head1 THE AUTHORS
1. 1934 PERLANCAR perlancar
2. 550 PSIXDISTS Perl 6 Modules
3. 509 SHARYANTO Steven Haryanto
4. 329 TOBYINK Toby Inkster
lib/Acme/CPANAuthors/BackPAN/OneHundred.pm view on Meta::CPAN
46. 106 JHTHORSEN Jan Henning Thorsen
47. 106 VVELOX ???
48. 102 EXODIST Chad Granum
49. 102 TEAM Tom Molesworth
50. 101 LEOCHARRE Leo Charre
List last updated: 2019-08-17T08:38:55
=head1 MAINTENANCE
If you are aware of any CPAN author that has attained the heady heights of 100
distributions on CPAN, and who is not listed here, please send me their ID/name
via email or RT, and I will update the module. If there are any mistakes,
please contact me as soon as possible, and I'll amend the entry right away.
=head1 SEE ALSO
L<Acme::CPANAuthors> - Main class to manipulate this one
L<Acme::CPANAuthors::CPAN::OneHundred> - 100+ distributions on CPAN.
lib/Acme/CPANAuthors/BackPAN/OneHundred.pm view on Meta::CPAN
Bugs, patches and feature requests can be reported at:
=over 4
=item * RT: CPAN's request tracker
L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Acme-CPANAuthors-BackPAN-OneHundred>
=item * GitHub
L<http://github.com/barbie/acme-cpanauthors-backpan-onehundred>
=back
There are no known bugs at the time of this release. However, if you spot a
bug or are experiencing difficulties that are not explained within the POD
documentation, please send an email to barbie@cpan.org or submit a bug to
the RT queue. However, it would help greatly if you are able to pinpoint
problems or even supply a patch.
Fixes are dependent upon their severity and my availability. Should a fix
t/10cpanauthor.t view on Meta::CPAN
#!perl
use strict;
use warnings;
use Test::More;
plan skip_all => "can't load Acme::CPANAuthors"
unless eval "use Acme::CPANAuthors; 1";
plan tests => 9;
my $authors = eval { Acme::CPANAuthors->new("BackPAN::OneHundred") };
is( $@, "", "creating a new Acme::CPANAuthors object with BackPAN 100 authors" );
isa_ok( $authors, "Acme::CPANAuthors" );
my $number = 50;
is( $authors->count, $number, " .. \$authors->count matches current count" );
my @ids = $authors->id;
cmp_ok( ~~@ids, ">", 0, " .. \$authors->id gives a non-empty list" );
is( ~~@ids, $number, " .. \$authors->id equals \$authors->count" );
SKIP: {
my $file;
eval { $file = Acme::CPANAuthors::Utils::_cpan_authors_file() };
skip "CPAN configuration not available", 4 if($@ || !$file);
$file = undef;
eval { $file = Acme::CPANAuthors::Utils::_cpan_packages_file() };
skip "CPAN configuration not available", 4 if($@ || !$file);
my @distros = $authors->distributions('PERLANCAR');
cmp_ok( ~~@distros, ">", 0, " .. \$authors->distributions('PERLANCAR') gives a non-empty list" );
@distros = $authors->distributions('XXXXXX');
cmp_ok( ~~@distros, "==", 0, " .. \$authors->distributions('XXXXXX') gives an empty list" );
my $name = $authors->name('PERLANCAR');
is($name, "perlancar", " .. \$authors->name('PERLANCAR') returns perlancar" );
# SKIP: {
# skip "en.gravatar.com is not available", 2
# if(pingtest('en.gravatar.com'));
#
# my $url;
# eval { $url = $authors->avatar_url('PERLANCAR') };
# skip "en.gravatar.com is not available", 1 if($@);
# $url ||= '';
# is($url, 'http://www.gravatar.com/avatar/2459f554c069e44527716e3f35e1d0d1', ".. \$authors->avatar_url('PERLANCAR') returns a URL" );
#
# eval { $url = $authors->avatar_url('BARBIE') };
# skip "en.gravatar.com is not available", 1 if($@);
# $url ||= '';
# cmp_ok( length($url), ">", 0, " .. \$authors->avatar_url('BINGOS') gives a non-empty string" );
# }
SKIP: {
skip "api.cpanauthors.org is not available", 1
if(pingtest('api.cpanauthors.org'));
my $kwalitee;
eval { $kwalitee = $authors->kwalitee('PERLANCAR') };
skip "api.cpanauthors.org is not available", 1 if($@);
isa_ok( $kwalitee, "HASH", " .. \$authors->kwalitee('PERLANCAR')" );
}
}
sub pingtest {
my $domain = shift or return 1;
my $cmd = $^O =~ /solaris/i ? "ping -s $domain 56 1" :
$^O =~ /dos|os2|mswin32|netware|cygwin/i ? "ping -n 1 $domain "
: "ping -c 1 $domain >/dev/null 2>&1";
eval { system($cmd) };