App-RetroPAN

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

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

META.yml  view on Meta::CPAN

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

cpanfile  view on Meta::CPAN

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

dist.ini  view on Meta::CPAN

[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 )