Acme-CPANAuthors-BackPAN-OneHundred

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

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

META.json  view on Meta::CPAN

{
    "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" : {

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"
        }
    }
}

META.yml  view on Meta::CPAN

--- #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:

META.yml  view on Meta::CPAN

    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) }; 



( run in 1.428 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )