Acme-CPANAuthors

 view release on metacpan or  search on metacpan

lib/Acme/CPANAuthors.pm  view on Meta::CPAN

authors list with a script to look for candidates whose name looks
like Japanese by the help of L<Lingua::JA::Romaji::Valid> I coined.

Since then, dozens of lists are uploaded on CPAN. It may be time
to start other games, like offering more useful statistics online.

=head1 WEBSITE

Now we have a website: L<http://acme.cpanauthors.org/>. You can
easily see who is the most kwalitative author in your community,
or who released or updated most in the past 365 days. More statistics
would come, and suggestions are welcome.

=head1 ENVIRONMENTAL VARIABLE

=head2 ACME_CPANAUTHORS_HOME

Since 0.14, Acme::CPANAuthors checks C<ACME_CPANAUTHORS_HOME>
environmental variable to look for a place where CPAN indices
are located. If you have a local (mini) CPAN mirror, or a source
directory for your CPAN clients (C<~/.cpan/sources> etc), set

lib/Acme/CPANAuthors/Utils/Packages.pm  view on Meta::CPAN

package Acme::CPANAuthors::Utils::Packages;

use strict;
use warnings;
use CPAN::DistnameInfo;
use version;
use base 'Acme::CPANAuthors::Utils::CPANIndex';

sub _preambles {qw(
  file url description columns intended_for
  written_by line_count last_updated
)}

sub _mappings {+{
  package             => 'packages',
  distribution        => 'dists',
  latest_distribution => 'latest_dists',
}}

sub _parse {
  my ($self, $file) = @_;

lib/Acme/CPANAuthors/Utils/Packages.pm  view on Meta::CPAN

=head2 packages, distributions, latest_distributions

returns a list of stored packages or (latest) distribution objects.

=head2 package_count, distribution_count, latest_distribution_count

returns the number of stored packages or (latest) distributions.

=head1 PREAMBLE ACCESSORS

=head2 file, url, description, columns, intended_for, written_by, line_count, last_updated

These are accessors to the preamble information of
C<02packages.details.txt>.

=head1 PACKAGE ACCESSORS

=head2 package (name), version

  my $package = $packages->package('Acme::CPANAuthors');
  print $package->package, "\n"; # Acme::CPANAuthors

t/07_parse_packages.t  view on Meta::CPAN

is( $p->url, 'http://www.perl.com/CPAN/modules/02packages.details.txt',
    'url' );
is( $p->description, 'Package names found in directory $CPAN/authors/id/',
    'description' );
is( $p->columns, 'package name, version, path', 'columns' );
is( $p->intended_for, 'Automated fetch routines, namespace documentation.',
    'intended for' );
is( $p->written_by, 'Id: mldistwatch 479 2004-01-04 13:29:05Z k ',
    'written by' );
is( $p->line_count, 23609, 'line count' );
is( $p->last_updated, 'Fri, 13 Feb 2004 13:50:21 GMT', 'last updated' );

my $m = $p->package("Acme::Colour");
is( $m->package, "Acme::Colour" );
is( $m->version, "1.00" );

my $d = $m->distribution;
is( $d->prefix,    "L/LB/LBROCARD/Acme-Colour-1.00.tar.gz" );
is( $d->dist,      "Acme-Colour" );
is( $d->version,   "1.00" );
is( $d->maturity,  "released" );



( run in 0.244 second using v1.01-cache-2.11-cpan-05444aca049 )