NAME

Acme::CPANAuthors - We are CPAN authors

SYNOPSIS

  use Acme::CPANAuthors;

  my $authors = Acme::CPANAuthors->new('Japanese');

  my $number   = $authors->count;
  my @ids      = $authors->id;
  my @distros  = $authors->distributions('ISHIGAKI');
  my $url      = $authors->avatar_url('ISHIGAKI');
  my $kwalitee = $authors->kwalitee('ISHIGAKI');
  my @info     = $authors->look_for('ishigaki');

If you don't like this interface, just use a specific authors list.

  use Acme::CPANAuthors::Japanese;

  my %authors = Acme::CPANAuthors::Japanese->authors;

  # note that ->author is context sensitive.
  # however, you can't write this without dereference
  # as "keys" checks the type (actually, the number) of args.
  for my $name (keys %{ Acme::CPANAuthors::Japanese->authors }) {
    print Acme::CPANAuthors::Japanese->authors->{$name}, "\n";
  }

DESCRIPTION

Sometimes we just want to know something to confirm we're not alone, or to see if we're doing right things, or to look for someone we can rely on. This module provides you some basic information on us.

METHODS

new

creates an object and loads the subclasses you specified. If you don't specify any subclasses, it tries to load all the subclasses found just under the "Acme::CPANAuthors" namespace.

count

returns how many CPAN authors are registered.

id

returns all the registered ids by default. If called with an id, this returns if there's a registered author of the id.

name

returns all the registered authors' name by default. If called with an id, this returns the name of the author of the id.

distributions, latest_distributions

returns an array of Parse::CPAN::Packages::Distribution objects for the author of the id. See Parse::CPAN::Packages for details.

avatar_url

returns gravatar url of the id shown at search.cpan.org. see http://site.gravatar.com/site/implement for details.

kwalitee

returns kwalitee information for the author of the id. This information is scraped from http://kwalitee.perl.org/.

look_for

my @authors = Acme::CPANAuthors->look_for('SOMEONE');
foreach my $author (@authors) {
  printf "%s (%s) belongs to %s.\n",
    $author->{id}, $author->{name}, $author->{category};
}

takes an id or a name (or a part of them, or even an regexp) and returns an array of hash references, each of which contains an id, a name, and a basename of the class where the person is registered. Note that this will load all the installed Acme::CPANAuthors:: modules but Acme::CPANAuthors::Not and modules with deeper namespaces.

SEE ALSO

As of writing this, there're more than a dozen of lists on the CPAN, including:

Acme::CPANAuthors::Austrian
Acme::CPANAuthors::Brazilian
Acme::CPANAuthors::Canadian
Acme::CPANAuthors::Chinese
Acme::CPANAuthors::CodeRepos
Acme::CPANAuthors::French
Acme::CPANAuthors::GeekHouse
Acme::CPANAuthors::Icelandic
Acme::CPANAuthors::Israeli
Acme::CPANAuthors::Italian
Acme::CPANAuthors::Japanese
Acme::CPANAuthors::Misanthrope
Acme::CPANAuthors::Norwegian
Acme::CPANAuthors::Not
Acme::CPANAuthors::Portuguese
Acme::CPANAuthors::Russian
Acme::CPANAuthors::Taiwanese
Acme::CPANAuthors::Turkish
Acme::CPANAuthors::Ukrainian
Acme::CPANAuthors::You::re_using
Acme::CPANAuthors::Acme::CPANAuthors::Authors

Thank you all. And I hope more to come.

AUTHOR

Kenichi Ishigaki, <ishigaki at cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2007-2009 by Kenichi Ishigaki.

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