MetaCPAN-Client

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


2.024000    20.4.18
            * Fix warning on a JSON::PP::Boolean check (Mickey)

2.023000    26.1.18
            * Support the new 'deprecated' field in File and Release types (Mickey)

2.022000    3.1.18
            * Allow user-defined target classes in ResultSet (Kent Fredric, Sawyer)
            * Added test for reverse dependencies (Sawyer)
            * Switched ref() checks to Ref::Util::is_ref (Mickey)

2.021000    18.11.17
            * Scroller fix for page skipping (Thomas Sibley)
            * Sorting in scrolled searches (Thomas Sibley)
            * Type check cleanup (Thomas Sibley)

2.020000    17.11.17
            * Added support for /search/autocomplete/suggest (Mickey)

2.019000    16.11.17

Changes  view on Meta::CPAN


2.003000    19.12.16
            * Escaped query to autocomplete (Mickey)
            * Removed dependency: Try::Tiny (Mickey)

2.002000    14.12.16
            * Support 'autocomplete' endpoint (Mickey)

2.001000    08.12.16
            * Distribution: added 'rt' & 'github' methods (Mickey)
            * Use Ref::Util for ref checks (Mickey)

2.000000    18.11.16
            * Major version: v1 full support
              - removed support and default settings for v0
              - corrected domain, base_url setting, using clientinfo
              - code/tests updates and cleanup
              (Mickey, Brad Lhotsky)
            * Pinned Search::Elasticsearch version to 2.03 (Mickey)
            * Use @Starter in dist.ini + cpanfile cleanup (Grinnz)

META.json  view on Meta::CPAN

      "runtime" : {
         "requires" : {
            "Carp" : "0",
            "HTTP::Tiny" : "0.056",
            "IO::Socket::SSL" : "1.42",
            "JSON::MaybeXS" : "0",
            "JSON::PP" : "0",
            "Moo" : "0",
            "Moo::Role" : "0",
            "Net::SSLeay" : "1.49",
            "Ref::Util" : "0",
            "Safe::Isa" : "0",
            "Type::Tiny" : "0",
            "URI::Escape" : "0",
            "perl" : "5.010",
            "strict" : "0",
            "warnings" : "0"
         }
      },
      "test" : {
         "recommends" : {

META.yml  view on Meta::CPAN

    version: '2.033000'
requires:
  Carp: '0'
  HTTP::Tiny: '0.056'
  IO::Socket::SSL: '1.42'
  JSON::MaybeXS: '0'
  JSON::PP: '0'
  Moo: '0'
  Moo::Role: '0'
  Net::SSLeay: '1.49'
  Ref::Util: '0'
  Safe::Isa: '0'
  Type::Tiny: '0'
  URI::Escape: '0'
  perl: '5.010'
  strict: '0'
  warnings: '0'
resources:
  IRC: irc://irc.perl.org/#metacpan
  WebIRC: https://chat.mibbit.com/#metacpan@irc.perl.org
  bugtracker: https://github.com/metacpan/metacpan-client/issues

Makefile.PL  view on Meta::CPAN

  "NAME" => "MetaCPAN::Client",
  "PREREQ_PM" => {
    "Carp" => 0,
    "HTTP::Tiny" => "0.056",
    "IO::Socket::SSL" => "1.42",
    "JSON::MaybeXS" => 0,
    "JSON::PP" => 0,
    "Moo" => 0,
    "Moo::Role" => 0,
    "Net::SSLeay" => "1.49",
    "Ref::Util" => 0,
    "Safe::Isa" => 0,
    "Type::Tiny" => 0,
    "URI::Escape" => 0,
    "strict" => 0,
    "warnings" => 0
  },
  "TEST_REQUIRES" => {
    "ExtUtils::MakeMaker" => 0,
    "File::Spec" => 0,
    "LWP::Protocol::https" => 0,

Makefile.PL  view on Meta::CPAN

  "ExtUtils::MakeMaker" => 0,
  "File::Spec" => 0,
  "HTTP::Tiny" => "0.056",
  "IO::Socket::SSL" => "1.42",
  "JSON::MaybeXS" => 0,
  "JSON::PP" => 0,
  "LWP::Protocol::https" => 0,
  "Moo" => 0,
  "Moo::Role" => 0,
  "Net::SSLeay" => "1.49",
  "Ref::Util" => 0,
  "Safe::Isa" => 0,
  "Test::Fatal" => 0,
  "Test::More" => 0,
  "Test::Needs" => "0.002005",
  "Type::Tiny" => 0,
  "URI::Escape" => 0,
  "base" => 0,
  "blib" => "1.01",
  "strict" => 0,
  "warnings" => 0

cpanfile  view on Meta::CPAN

use warnings;

requires "Carp"            => "0";
requires "HTTP::Tiny"      => "0.056";
requires "IO::Socket::SSL" => "1.42";
requires "JSON::MaybeXS"   => "0";
requires "JSON::PP"        => "0";
requires "Moo"             => "0";
requires "Moo::Role"       => "0";
requires "Net::SSLeay"     => "1.49";
requires "Ref::Util"       => "0";
requires "Safe::Isa"       => "0";
requires "Type::Tiny"      => "0";
requires "URI::Escape";
requires "perl"     => "5.010";
requires "strict"   => "0";
requires "warnings" => "0";

on 'test' => sub {
    requires "Test::Fatal"              => "0";
    requires "Test::More"               => "0";

examples/authors_blogs.pl  view on Meta::CPAN

use strict;
use warnings;

use MetaCPAN::Client;
use Ref::Util qw< is_arrayref >;

my $mcpan = MetaCPAN::Client->new;

my $all_authors = $mcpan->all('authors');

AUTHOR: while ( my $author = $all_authors->next ) {

  BLOG: for my $blog ( @{ $author->blog || [] } ) {
        $blog and exists $blog->{url} or next BLOG;
        my $url = $blog->{url};

lib/MetaCPAN/Client.pm  view on Meta::CPAN

use strict;
use warnings;
package MetaCPAN::Client;
# ABSTRACT: A comprehensive, DWIM-featured client to the MetaCPAN API
$MetaCPAN::Client::VERSION = '2.033000';
use Moo;
use Carp;
use Ref::Util qw< is_arrayref is_hashref is_ref >;
use URI::Escape qw< uri_escape_utf8 >;

use MetaCPAN::Client::Request;
use MetaCPAN::Client::Author;
use MetaCPAN::Client::Distribution;
use MetaCPAN::Client::DownloadURL;
use MetaCPAN::Client::Module;
use MetaCPAN::Client::File;
use MetaCPAN::Client::Favorite;
use MetaCPAN::Client::Pod;

lib/MetaCPAN/Client/Author.pm  view on Meta::CPAN

use strict;
use warnings;
package MetaCPAN::Client::Author;
# ABSTRACT: An Author data object
$MetaCPAN::Client::Author::VERSION = '2.033000';
use Moo;
use Ref::Util qw< is_arrayref >;

with 'MetaCPAN::Client::Role::Entity';

my %known_fields = (
    scalar => [qw<
        city
        country
        gravatar_url
        name
        ascii_name

lib/MetaCPAN/Client/Release.pm  view on Meta::CPAN

use strict;
use warnings;
package MetaCPAN::Client::Release;
# ABSTRACT: A Release data object
$MetaCPAN::Client::Release::VERSION = '2.033000';
use Moo;
use Ref::Util qw< is_hashref >;
use JSON::MaybeXS qw< decode_json >;

with 'MetaCPAN::Client::Role::Entity',
     'MetaCPAN::Client::Role::HasUA';

my %known_fields = (
    scalar => [qw<
        abstract
        archive
        author

lib/MetaCPAN/Client/Request.pm  view on Meta::CPAN

use strict;
use warnings;
package MetaCPAN::Client::Request;
# ABSTRACT: Object used for making requests to MetaCPAN
$MetaCPAN::Client::Request::VERSION = '2.033000';
use Moo;
use Carp;
use JSON::MaybeXS qw<decode_json encode_json>;
use Ref::Util qw< is_arrayref is_hashref is_ref >;

use MetaCPAN::Client::Scroll;
use MetaCPAN::Client::Types qw< HashRef Int >;

with 'MetaCPAN::Client::Role::HasUA';

has _clientinfo => (
    is      => 'ro',
    isa     => HashRef,
    lazy    => 1,

lib/MetaCPAN/Client/Role/Entity.pm  view on Meta::CPAN

use strict;
use warnings;
package MetaCPAN::Client::Role::Entity;
# ABSTRACT: A role for MetaCPAN entities
$MetaCPAN::Client::Role::Entity::VERSION = '2.033000';
use Moo::Role;

use JSON::PP;
use Ref::Util qw< is_ref is_arrayref is_hashref >;

has data => (
    is       => 'ro',
    required => 1,
);

has client => (
    is         => 'ro',
    lazy       => 1,
    builder    => '_build_client',

lib/MetaCPAN/Client/Scroll.pm  view on Meta::CPAN

use strict;
use warnings;
package MetaCPAN::Client::Scroll;
# ABSTRACT: A MetaCPAN::Client scroller
$MetaCPAN::Client::Scroll::VERSION = '2.033000';
use Moo;
use Carp;
use Ref::Util qw< is_hashref >;
use JSON::MaybeXS qw< decode_json encode_json >;

use MetaCPAN::Client::Types qw< Str Int Time ArrayRef HashRef Bool >;

has ua => (
    is       => 'ro',
    required => 1,
);

has size => (

lib/MetaCPAN/Client/Types.pm  view on Meta::CPAN

use strict;
use warnings;
package MetaCPAN::Client::Types;
# ABSTRACT: type checking helper class
$MetaCPAN::Client::Types::VERSION = '2.033000';
use Type::Tiny      ();
use Types::Standard ();
use Ref::Util qw< is_ref >;

use parent 'Exporter';
our @EXPORT_OK = qw< Str Int Time ArrayRef HashRef Bool >;

sub Str      { Types::Standard::Str      }
sub Int      { Types::Standard::Int      }
sub ArrayRef { Types::Standard::ArrayRef }
sub HashRef  { Types::Standard::HashRef  }
sub Bool     { Types::Standard::Bool     }

t/00-report-prereqs.dd  view on Meta::CPAN

       'runtime' => {
                      'requires' => {
                                      'Carp' => '0',
                                      'HTTP::Tiny' => '0.056',
                                      'IO::Socket::SSL' => '1.42',
                                      'JSON::MaybeXS' => '0',
                                      'JSON::PP' => '0',
                                      'Moo' => '0',
                                      'Moo::Role' => '0',
                                      'Net::SSLeay' => '1.49',
                                      'Ref::Util' => '0',
                                      'Safe::Isa' => '0',
                                      'Type::Tiny' => '0',
                                      'URI::Escape' => '0',
                                      'perl' => '5.010',
                                      'strict' => '0',
                                      'warnings' => '0'
                                    }
                    },
       'test' => {
                   'recommends' => {

t/api/author.t  view on Meta::CPAN

#!perl

use strict;
use warnings;
use Test::More;
use Test::Fatal;
use Ref::Util qw< is_arrayref >;

use lib '.';
use t::lib::Functions;

my $mc = mcpan();
can_ok( $mc, 'author' );

my $author = $mc->author('XSAWYERX');
isa_ok( $author, 'MetaCPAN::Client::Author' );
can_ok( $author, 'pauseid' );

t/api/cover.t  view on Meta::CPAN

#!perl

use strict;
use warnings;
use Test::More tests => 8;
use Ref::Util qw< is_hashref is_ref >;

use lib '.';
use t::lib::Functions;

my $mc = mcpan();
can_ok( $mc, 'cover' );

my $cover = $mc->cover('Moose-2.2007');
isa_ok( $cover, 'MetaCPAN::Client::Cover' );
can_ok( $cover, qw< distribution release version criteria > );

t/api/distribution.t  view on Meta::CPAN

#!perl

use strict;
use warnings;
use Test::More tests => 9;
use Test::Fatal;
use Ref::Util qw< is_hashref >;

use lib '.';
use t::lib::Functions;

my $mc = mcpan();
can_ok( $mc, 'distribution' );

my $dist = $mc->distribution('Business-ISBN');
isa_ok( $dist, 'MetaCPAN::Client::Distribution' );
can_ok( $dist, 'name' );

t/api/package.t  view on Meta::CPAN

#!perl

use strict;
use warnings;
use Test::More tests => 10;
use Ref::Util qw< is_arrayref is_ref >;

use lib '.';
use t::lib::Functions;

my $mc = mcpan();
can_ok( $mc, 'package' );

my $pack = $mc->package('MooseX::Types');
isa_ok( $pack, 'MetaCPAN::Client::Package' );
can_ok( $pack, qw< module_name file distribution version author > );

t/api/permission.t  view on Meta::CPAN

#!perl

use strict;
use warnings;
use Test::More tests => 7;
use Ref::Util qw< is_arrayref is_ref >;

use lib '.';
use t::lib::Functions;

my $mc = mcpan();
can_ok( $mc, 'permission' );

my $perm = $mc->permission('MooseX::Types');
isa_ok( $perm, 'MetaCPAN::Client::Permission' );
can_ok( $perm, qw< module_name owner co_maintainers > );

t/api/reverse-dependencies.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More;
use Test::Fatal;
use Ref::Util qw< is_hashref >;

use lib '.';
use t::lib::Functions;

my $mc = mcpan();
can_ok( $mc, qw< reverse_dependencies rev_deps > );

my $module = 'MetaCPAN::Client';

my $rs = $mc->reverse_dependencies($module);

t/scroll.t  view on Meta::CPAN

#!perl

use strict;
use warnings;

use Test::More tests => 6;
use Ref::Util qw< is_hashref >;
use HTTP::Tiny;
use MetaCPAN::Client::Scroll;
use MetaCPAN::Client::Release;

my $scroller = MetaCPAN::Client::Scroll->new(
   ua       => HTTP::Tiny->new,
   base_url => 'https://fastapi.metacpan.org/v1/',
   type     => 'release',
   body     => { query => { term => { distribution => 'MetaCPAN-Client' } } },
   size     => 50,



( run in 0.534 second using v1.01-cache-2.11-cpan-4d50c553e7e )