Acme-CPANAuthors-GitHub
view release on metacpan or search on metacpan
Revision history for Acme-CPANAuthors-GitHub
0.09 Wed Jun 7 06:31:42 UTC 2017
- Updated authors.
- Updated generator script to use MetaCPAN::Client.
0.08 Fri Jun 5 00:20:10 UTC 2015
- Updated authors.
- Updated generator script to use the new Elasticsearch module and api.
0.07 Thu Jun 6 22:20:19 UTC 2013
- Updated authors.
0.06 Thu Apr 5 22:17:04 UTC 2012
- Updated authors.
0.05 Sun Jan 8 22:11:33 UTC 2012
- Updated authors.
0.04 Thu Nov 3 07:23:48 UTC 2011
- Updated authors.
0.03 Tue Aug 2 16:25:27 UTC 2011
- Converted from using PAUSE API to MetaCPAN.
- Changed the author name to use the UTF-8 version.
- Updated authors.
0.02 Tue Feb 15 11:45:14 UTC 2011
- Updated authors.
0.01 Sun Dec 5 11:22:25 UTC 2010
- Initial distribution.
Changes
lib/Acme/CPANAuthors/GitHub.pm
Makefile.PL
MANIFEST This list of files
README
scripts/generate-github-authors.pl
t/00_compile.t
t/01_new.t
xt/kwalitee.t
xt/perlcritic.t
xt/perlcriticrc
xt/pod.t
xt/pod_coverage.t
xt/portability_filenames.t
xt/vars.t
META.yml Module YAML meta-data (added by MakeMaker)
{
"abstract" : "CPAN Authors with GitHub repositories",
"author" : [
"gray <gray@cpan.org>"
],
"dynamic_config" : 1,
"generated_by" : "ExtUtils::MakeMaker version 7.2901, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : 2
},
"runtime" : {
"requires" : {
"Acme::CPANAuthors" : "0.14"
}
}
},
"release_status" : "stable",
"resources" : {
"repository" : {
"url" : "http://github.com/gray/acme-cpanauthors-github"
}
},
"version" : "0.09",
"x_serialization_backend" : "JSON::PP version 2.94"
}
---
abstract: 'CPAN Authors with GitHub repositories'
author:
- 'gray <gray@cpan.org>'
build_requires:
Test::More: '0.82'
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
generated_by: 'ExtUtils::MakeMaker version 7.2901, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Acme-CPANAuthors-GitHub
no_index:
directory:
- t
- inc
- scripts
requires:
Acme::CPANAuthors: '0.14'
resources:
repository: http://github.com/gray/acme-cpanauthors-github
version: '0.09'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
Makefile.PL view on Meta::CPAN
NAME => 'Acme::CPANAuthors::GitHub',
AUTHOR => 'gray <gray@cpan.org>',
LICENSE => 'perl',
VERSION_FROM => 'lib/Acme/CPANAuthors/GitHub.pm',
ABSTRACT_FROM => 'lib/Acme/CPANAuthors/GitHub.pm',
PREREQ_PM => { 'Acme::CPANAuthors' => 0.14, },
BUILD_REQUIRES => { 'Test::More' => 0.82, },
META_MERGE => {
no_index => { directory => 'scripts' },
resources => {
repository => 'http://github.com/gray/acme-cpanauthors-github',
},
},
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'Acme-CPANAuthors-GitHub-*' },
);
my $eumm_version = do {
no warnings 'numeric';
eval $ExtUtils::MakeMaker::VERSION;
};
delete $conf{META_MERGE} if $eumm_version < 6.46;
$conf{PREREQ_PM} = {
%{ $conf{PREREQ_PM} || {} }, %{ delete $conf{BUILD_REQUIRES} },
} if ($conf{BUILD_REQUIRES} and $eumm_version < 6.5503);
WriteMakefile(%conf);
sub MY::postamble {
return <<" MAKE_FRAG";
authortest:
\t\$(MAKE) -e \$(TEST_TYPE) TEST_FILES="xt/*.t"
MAKE_FRAG
}
sub MY::dist_test {
my $self = shift;
return $self->MM::dist_test . <<" MAKE_FRAG";
\tcd \$(DISTVNAME) && \$(MAKE) authortest \$(PASTHRU)
MAKE_FRAG
}
Acme-CPANAuthors-GitHub
=======================
This module lists the CPAN authors with repositories on GitHub.
INSTALLATION
To install this module type the following:
perl Makefile.PL
make
make test
make install
lib/Acme/CPANAuthors/GitHub.pm view on Meta::CPAN
__END__
=head1 NAME
Acme::CPANAuthors::GitHub - CPAN Authors with GitHub repositories
=head1 SYNOPSIS
use Acme::CPANAuthors;
my $authors = Acme::CPANAuthors->new('GitHub');
my $number = $authors->count;
my @ids = $authors->id;
my @distros = $authors->distributions('GRAY');
my $url = $authors->avatar_url('GRAY');
my $kwalitee = $authors->kwalitee('GRAY');
my $name = $authors->name('GRAY');
=head1 DESCRIPTION
This class provides a hash of PAUSE IDs and names of CPAN authors who have
GitHub repositories.
=head1 SEE ALSO
L<Acme::CPANAuthors>
L<http://github.com/>
=head1 REQUESTS AND BUGS
lib/Acme/CPANAuthors/GitHub.pm view on Meta::CPAN
You can find documentation for this module with the perldoc command.
perldoc Acme::CPANAuthors::GitHub
You can also look for information at:
=over
=item * GitHub Source Repository
L<http://github.com/gray/acme-cpanauthors-github>
=item * AnnoCPAN: Annotated CPAN documentation
L<http://annocpan.org/dist/Acme-CPANAuthors-GitHub>
=item * CPAN Ratings
L<http://cpanratings.perl.org/d/Acme-CPANAuthors-GitHub>
=item * RT: CPAN's request tracker
scripts/generate-github-authors.pl view on Meta::CPAN
use 5.010;
use Acme::CPANAuthors::Utils;
use Cwd qw(realpath);
use MetaCPAN::Client;
use FindBin;
my $VERSION = '0.09';
my (%name, %github);
process_authors();
process_releases();
write_file();
exit;
sub process_authors {
my $search = MetaCPAN::Client->new->all('authors');
AUTHOR:
while (my $author = $search->next) {
my $pauseid = $author->pauseid;
next unless $pauseid;
my $name = $author->name // '';
$name{$pauseid} = $name;
for my $website (@{$author->website // []}) {
next unless is_github_site($website);
$github{$pauseid} = $name;
next AUTHOR;
}
for my $profile (@{$author->profile // []}) {
next unless 'github' eq $profile->{name};
$github{$pauseid} = $name;
next AUTHOR;
}
}
}
sub process_releases {
my $search = MetaCPAN::Client->new->release({
scripts/generate-github-authors.pl view on Meta::CPAN
{ maturity => 'released' },
{ status => 'latest' },
{
either => [
{ 'resources.repository.url' => '*github.com/*' },
{ 'resources.repository.web' => '*github.com/*' },
{ 'resources.homepage' => '*github.com/*' },
]
},
]},
{ _source => [qw(author resources)] }
);
while (my $release = $search->next) {
my $pauseid = $release->author // next;
next if exists $github{$pauseid};
my $home = $release->resources->{homepage} // '';
my $repo = $release->resources->{repository} // {};
for my $url ($home, @$repo{qw(url web)}) {
next unless is_github_site($url);
$github{$pauseid} = $name{$pauseid} // '';
last;
}
}
scripts/generate-github-authors.pl view on Meta::CPAN
__END__
=head1 NAME
Acme::CPANAuthors::GitHub - CPAN Authors with GitHub repositories
=head1 SYNOPSIS
use Acme::CPANAuthors;
my $authors = Acme::CPANAuthors->new('GitHub');
my $number = $authors->count;
my @ids = $authors->id;
my @distros = $authors->distributions('GRAY');
my $url = $authors->avatar_url('GRAY');
my $kwalitee = $authors->kwalitee('GRAY');
my $name = $authors->name('GRAY');
=head1 DESCRIPTION
This class provides a hash of PAUSE IDs and names of CPAN authors who have
GitHub repositories.
=head1 SEE ALSO
L<Acme::CPANAuthors>
L<http://github.com/>
=head1 REQUESTS AND BUGS
scripts/generate-github-authors.pl view on Meta::CPAN
You can find documentation for this module with the perldoc command.
perldoc Acme::CPANAuthors::GitHub
You can also look for information at:
=over
=item * GitHub Source Repository
L<http://github.com/gray/acme-cpanauthors-github>
=item * AnnoCPAN: Annotated CPAN documentation
L<http://annocpan.org/dist/Acme-CPANAuthors-GitHub>
=item * CPAN Ratings
L<http://cpanratings.perl.org/d/Acme-CPANAuthors-GitHub>
=item * RT: CPAN's request tracker
use strict;
use warnings;
use Test::More tests => 4;
use Acme::CPANAuthors;
my $authors = new_ok('Acme::CPANAuthors' => [ 'GitHub' ]);
ok $authors->count, 'found authors';
# Force list context.
ok 1 <= (() = $authors->id), 'author ids';
ok $authors->name('GRAY'), 'author name';
( run in 2.731 seconds using v1.01-cache-2.11-cpan-5c0b1e786e0 )