Acme-CPANAuthors-French

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

use strict;
use warnings;
use Module::Build;

my $builder = Module::Build->new(
    module_name         => 'Acme::CPANAuthors::French',
    license             => 'perl',
    dist_author         => 'Sébastien Aperghis-Tramoni <sebastien@aperghis.net>',
    dist_version_from   => 'lib/Acme/CPANAuthors/French.pm',
    requires => {
        'perl'              => '5.008',
        'Acme::CPANAuthors' => '0.04',
    },
    build_requires => {
        'Test::More'        => 0,
    },
    add_to_cleanup      => [ 'Acme-CPANAuthors-French-*' ],
);

MANIFEST  view on Meta::CPAN

MANIFEST
META.yml
Build.PL
Makefile.PL
README
Changes
lib/Acme/CPANAuthors/French.pm
eg/author_info
eg/count
t/00-load.t
t/10-synopsis.t
t/80-cpan-rt-45077.t
t/90-pod.t
t/91-pod-coverage.t

META.yml  view on Meta::CPAN

---
abstract: 'Nous sommes des auteurs CPAN francophones'
author:
  - 'Sébastien Aperghis-Tramoni <sebastien@aperghis.net>'
build_requires:
  Test::More: 0
configure_requires:
  Module::Build: 0.36
generated_by: 'Module::Build version 0.3607'
license: perl
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: 1.4

README  view on Meta::CPAN

NAME

    Acme::CPANAuthors::French - We are French CPAN authors
                                Nous sommes des auteurs CPAN francophones


DESCRIPTION

    This class provides a hash of French CPAN authors' PAUSE ID and name to
    the Acme::CPANAuthors module.


INSTALLATION

    To install this module, run the following commands:

	perl Makefile.PL
	make
	make test

eg/author_info  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use Acme::CPANAuthors;


die "usage: $0 PAUSE_ID [PAUSE_ID ...]\n" unless @ARGV;

my $authors  = Acme::CPANAuthors->new("French");

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

eg/count  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use Acme::CPANAuthors;


my $authors  = Acme::CPANAuthors->new("French");
my $number   = $authors->count;

print "$number declared French-speaking CPAN authors\n";

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

    » http://www.myspace.com/cloclomadeinjapan
>


__END__

=encoding UTF-8

=head1 NAME

Acme::CPANAuthors::French - We are French-speaking CPAN authors

Acme::CPANAuthors::French - Nous sommes des auteurs CPAN francophones


=head1 VERSION

Version 0.07


=head1 SYNOPSIS

   use Acme::CPANAuthors;

   my $authors  = Acme::CPANAuthors->new("French");

   my $number   = $authors->count;
   my @ids      = $authors->id;
   my @distros  = $authors->distributions("SAPER");
   my $url      = $authors->avatar_url("VPIT");
   my $kwalitee = $authors->kwalitee("BOOK");
   my $name     = $authors->name("RGARCIA");


=head1 DESCRIPTION

This class provides a hash of French CPAN authors' PAUSE ID and name to 
the C<Acme::CPANAuthors> module.


=head1 MAINTENANCE

If you are a French CPAN author not listed here, please send me your ID/name 
via email or RT so we can always keep this module up to date. If there's a 
mistake and you're listed here but are not French (or just don't want to be 
listed), sorry for the inconvenience: please contact me and I'll remove the 
entry right away.


=head1 SEE ALSO

L<Acme::CPANAuthors> - Main class to manipulate this one

L<Acme::CPANAuthors::Austrian> - Austrian CPAN authors

L<Acme::CPANAuthors::Brazilian> - Brazilian CPAN authors

L<Acme::CPANAuthors::Chinese> - Chinese CPAN authors

L<Acme::CPANAuthors::Japanese> - Japanese CPAN authors


=head1 AUTHOR

Sébastien Aperghis-Tramoni C<< <sebastien at aperghis.net> >>


=head1 BUGS

Please report any bugs or feature requests to 
C<bug-acme-cpanauthors-french at rt.cpan.org>, or through the web interface at
L<http://rt.cpan.org/Dist/Display.html?Queue=Acme-CPANAuthors-French>.
I will be notified, and then you'll automatically be notified of 
progress on your bug as I make changes.


=head1 SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Acme::CPANAuthors::French

t/10-synopsis.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("French") };
is( $@, "", "creating a new Acme::CPANAuthors object with French authors" );
isa_ok( $authors, "Acme::CPANAuthors" );

my $number   = $authors->count;
cmp_ok( $number, ">", 0, " .. \$authors->count is a non-null number" );

my @ids      = $authors->id;
cmp_ok( ~~@ids, ">", 0, " .. \$authors->id gives a non-empty list" );
is( ~~@ids, $number, " .. \$authors->id eqals \$authors->count" );

SKIP: {
    skip "CPAN configuration not available", 4
        unless eval "Acme::CPANAuthors::Utils::_cpan_authors_file() ; 1";

    my @distros  = $authors->distributions("SAPER");
    cmp_ok( ~~@distros, ">", 0, " .. \$authors->distributions gives a non-empty list" );

    my $url      = $authors->avatar_url("VPIT");
    cmp_ok( length($url), ">", 0, " .. \$authors->avatar_url('VPIT') gives a non-empty string" );

    my $kwalitee = eval { $authors->kwalitee("BOOK") };
    SKIP: {
        skip $@, 1 if $@ =~ /Can't connect to cpants.perl.org/;
        isa_ok( $kwalitee, "HASH", " .. \$authors->kwalitee('BOOK')" );
    }

    my $name     = $authors->name("RGARCIA");
    cmp_ok( length($name), ">", 0, " .. \$authors->name('RGARCIA') gives a non-empty string" );
}

t/80-cpan-rt-45077.t  view on Meta::CPAN


# checks for bug CPAN-RT#45077, contributed by Olivier Mengue

my %name = (
    DOLMEN  => [ 23, "Olivier Mengué (dolmen)" ],
    JFENAL  => [ 12, "Jérôme Fenal" ],
);

plan tests => 2 * keys %name;

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

for my $pauseid (keys %name) {
    my $author = $authors->name($pauseid);
    is( length $author, $name{$pauseid}[0],
        "$pauseid: author name must be $name{$pauseid}[0] chars long" );
    is( $author, $name{$pauseid}[1], "$pauseid: checking encoding" );
}



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