App-RetroPAN
view release on metacpan or search on metacpan
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"runtime" : {
"requires" : {
"Cpanel::JSON::XS" : "0",
"DateTime" : "0",
"DateTime::Format::ISO8601" : "0",
"Getopt::Long" : "0",
"HTTP::Request" : "0",
"LWP::UserAgent" : "0",
"List::MoreUtils" : "0",
"Module::CoreList" : "2.99",
"OrePAN2" : "0",
"Pod::Usage" : "0",
"perl" : "v5.10.1"
}
},
"test" : {
"requires" : {
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: App-RetroPAN
requires:
Cpanel::JSON::XS: '0'
DateTime: '0'
DateTime::Format::ISO8601: '0'
Getopt::Long: '0'
HTTP::Request: '0'
LWP::UserAgent: '0'
List::MoreUtils: '0'
Module::CoreList: '2.99'
OrePAN2: '0'
Pod::Usage: '0'
perl: v5.10.1
resources:
repository: https://repo.or.cz/perl-App-RetroPAN.git
version: '0.03'
x_serialization_backend: 'YAML::Tiny version 1.70'
Makefile.PL view on Meta::CPAN
"bin/retropan"
],
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.010001",
"NAME" => "App::RetroPAN",
"PREREQ_PM" => {
"Cpanel::JSON::XS" => 0,
"DateTime" => 0,
"DateTime::Format::ISO8601" => 0,
"Getopt::Long" => 0,
"HTTP::Request" => 0,
"LWP::UserAgent" => 0,
"List::MoreUtils" => 0,
"Module::CoreList" => "2.99",
"OrePAN2" => 0,
"Pod::Usage" => 0
},
"TEST_REQUIRES" => {
"File::Temp" => 0,
"Test::More" => 0
},
Makefile.PL view on Meta::CPAN
}
);
my %FallbackPrereqs = (
"Cpanel::JSON::XS" => 0,
"DateTime" => 0,
"DateTime::Format::ISO8601" => 0,
"File::Temp" => 0,
"Getopt::Long" => 0,
"HTTP::Request" => 0,
"LWP::UserAgent" => 0,
"List::MoreUtils" => 0,
"Module::CoreList" => "2.99",
"OrePAN2" => 0,
"Pod::Usage" => 0,
"Test::More" => 0
);
unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
requires "Cpanel::JSON::XS" => "0";
requires "DateTime" => "0";
requires "DateTime::Format::ISO8601" => "0";
requires "Getopt::Long" => "0";
requires "HTTP::Request" => "0";
requires "LWP::UserAgent" => "0";
requires "List::MoreUtils" => "0";
requires "Module::CoreList" => "2.99";
requires "OrePAN2" => "0";
requires "Pod::Usage" => "0";
requires "perl" => "v5.10.1";
on 'test' => sub {
requires "File::Temp" => "0";
requires "Test::More" => "0";
[Repository]
web = https://repo.or.cz/perl-App-RetroPAN.git
repository = https://repo.or.cz/perl-App-RetroPAN.git
[Prereqs]
perl = 5.10.1
Cpanel::JSON::XS = 0
DateTime = 0
DateTime::Format::ISO8601 = 0
Getopt::Long = 0
HTTP::Request = 0
List::MoreUtils = 0
LWP::UserAgent = 0
Module::CoreList = 2.99
OrePAN2 = 0
Pod::Usage = 0
[Prereqs / TestRequires]
File::Temp = 0
Test::More = 0
lib/App/RetroPAN.pm view on Meta::CPAN
=head1 LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
=head1 AUTHOR
Dave Lambley <dlambley@cpan.org>
=cut
use HTTP::Request;
use LWP::UserAgent;
use List::MoreUtils qw/ uniq /;
use Module::CoreList;
use OrePAN2::Injector;
use OrePAN2::Indexer;
use Cpanel::JSON::XS qw/ encode_json decode_json /;
our $VERSION = '0.03';
lib/App/RetroPAN.pm view on Meta::CPAN
"match" => {
"author" => $au,
}
},
],
}
}
};
my $req = HTTP::Request->new( POST => 'https://fastapi.metacpan.org/v1/release/_search', [
"Content-Type" => "text/json",
"Accept" => "text/json"
], encode_json($q) );
my $res = $ua->request($req);
die $res->status_line if !$res->is_success;
my $data = decode_json($res->decoded_content);
my $hit = $data->{hits}->{hits}->[0];
if (!defined $hit) {
warn "could not find $au/$dist";
lib/App/RetroPAN.pm view on Meta::CPAN
}
},
{
"range" => { "date" => {"lt" => $before }}
},
],
}
}
};
my $req = HTTP::Request->new( POST => 'https://fastapi.metacpan.org/v1/module/_search', [
"Content-Type" => "text/json",
"Accept" => "text/json"
], encode_json($q) );
my $res = $ua->request($req);
die $res->status_line if !$res->is_success;
my $data = decode_json($res->decoded_content);
my $author;
t/retropan.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use App::RetroPAN;
use File::Temp qw/ tempdir /;
use_ok 'App::RetroPAN';
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new( GET => "https://fastapi.metacpan.org/v1/release/_search" );
my $res = $ua->request($req);
SKIP: {
skip "Cannot reach API server" if !$res->is_success;
ok $res->is_success, "API server reachable";
my ($author, $dist, $url) = App::RetroPAN::find_module_on_date("Moose", "2011-01-01T00:00:00");
is($dist, "Moose-1.21");
( run in 0.487 second using v1.01-cache-2.11-cpan-de7293f3b23 )