Acme-CPANAuthors-GitHub

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

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.

MANIFEST  view on Meta::CPAN

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)

META.json  view on Meta::CPAN

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

META.json  view on Meta::CPAN

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

META.yml  view on Meta::CPAN

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

README  view on Meta::CPAN

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

t/01_new.t  view on Meta::CPAN

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.194 seconds using v1.01-cache-2.11-cpan-5c0b1e786e0 )