Acme-CPANAuthors
view release on metacpan or search on metacpan
- use https
0.26 2015/12/09
- repackaging to add recommendation in META files (GH #4, XSAWYER++)
0.25 2015/01/25
- improved pod coverage (PJACKLAM++)
0.24 2015/01/18
- make sure if authors method is actually availabl (RT#101597 ETHER++)
- switched to JSON::PP and HTTP::Tiny
- changed look_for method to look for registered authors if called
from an instance (instead of looking for all the registered authors
in installed packages).
0.23 2013/07/08
- added Acme::CPANAuthors::Factory (ETHER)
- added categories method (ETHER)
0.22 2013/07/07
- listed new module: Australian
t/09_factory.t
t/99_pod.t
t/99_podcoverage.t
t/data/authors/01mailrc.txt
t/data/authors/01mailrc.txt.gz
t/data/modules/02packages.details.txt
t/data/modules/02packages.details.txt.gz
t/lib/Acme/CPANAuthors/Test.pm
t/lib/Acme/CPANAuthors/TestExtra.pm
META.yml Module YAML meta-data (added by MakeMaker)
META.json Module JSON meta-data (added by MakeMaker)
},
"requires" : {
"CPAN::DistnameInfo" : "0",
"Carp" : "0",
"Class::Accessor::Fast" : "0",
"Exporter" : "0",
"File::Spec" : "0",
"HTTP::Tiny" : "0",
"IO::File" : "0",
"IO::Uncompress::Gunzip" : "2.008",
"JSON::PP" : "0",
"Module::Find" : "0",
"Try::Tiny" : "0",
"version" : "0.74"
}
},
"test" : {
"requires" : {
"Test::Deep" : "0",
"Test::More" : "0.88",
"Test::UseAllModules" : "0.15"
}
}
},
"release_status" : "stable",
"resources" : {
"repository" : {
"url" : "https://github.com/charsbar/acme-cpanauthors"
}
},
"version" : "0.27",
"x_serialization_backend" : "JSON::PP version 4.16"
}
Gravatar::URL: '0'
requires:
CPAN::DistnameInfo: '0'
Carp: '0'
Class::Accessor::Fast: '0'
Exporter: '0'
File::Spec: '0'
HTTP::Tiny: '0'
IO::File: '0'
IO::Uncompress::Gunzip: '2.008'
JSON::PP: '0'
Module::Find: '0'
Try::Tiny: '0'
version: '0.74'
resources:
repository: https://github.com/charsbar/acme-cpanauthors
version: '0.27'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
requires 'Carp' => 0;
requires 'Class::Accessor::Fast' => 0;
requires 'CPAN::DistnameInfo' => 0;
requires 'Exporter' => 0;
requires 'File::Spec' => 0;
requires 'HTTP::Tiny' => 0;
requires 'IO::File' => 0;
requires 'IO::Uncompress::Gunzip' => '2.008'; # core in 5.10
requires 'JSON::PP' => 0;
requires 'Module::Find' => 0;
requires 'Try::Tiny' => 0;
requires 'version' => '0.74'; # core in 5.10
recommends 'Gravatar::URL' => 0;
on test => sub {
requires 'Test::Deep' => 0;
requires 'Test::More' => '0.88'; # for done_testing
requires 'Test::UseAllModules' => '0.15';
lib/Acme/CPANAuthors/Utils/Kwalitee.pm view on Meta::CPAN
package Acme::CPANAuthors::Utils::Kwalitee;
use strict;
use warnings;
use HTTP::Tiny;
use JSON::PP ();
my $ua;
sub _uri { "https://api.cpanauthors.org/kwalitee/" . shift }
sub _ua {
my $class = shift;
$ua = $_[0] if @_;
$ua ||= HTTP::Tiny->new(env_proxy => 1);
$ua;
lib/Acme/CPANAuthors/Utils/Kwalitee.pm view on Meta::CPAN
sub fetch {
my ($class, $id) = @_;
return unless $id;
my $res = $class->_ua->get(_uri(lc $id));
unless ($res->{success} && $res->{status} == 200) {
$class->_error("$res->{status} $res->{reason}");
}
my $json = eval { JSON::PP::decode_json($res->{content}) };
if ($@) {
$class->_error($@);
}
return $json;
}
sub _error {
my ($class, $error) = @_;
die "API SERVER ERROR\n"
( run in 2.709 seconds using v1.01-cache-2.11-cpan-140bd7fdf52 )