CPAN-Index-API
view release on metacpan or search on metacpan
lib/CPAN/Index/API/File/PackagesDetails.pm view on Meta::CPAN
package CPAN::Index::API::File::PackagesDetails;
our $VERSION = '0.008';
use strict;
use warnings;
use URI;
use URI::file;
use Path::Class qw(file dir);
use Carp qw(croak);
use List::Util qw(first);
use namespace::autoclean;
use Moose;
with qw(
CPAN::Index::API::Role::Writable
CPAN::Index::API::Role::Readable
CPAN::Index::API::Role::Clonable
CPAN::Index::API::Role::HavingFilename
CPAN::Index::API::Role::HavingGeneratedBy
);
has uri => (
is => 'ro',
isa => 'Str',
required => 1,
lazy_build => 1,
);
has repo_uri => (
is => 'ro',
isa => 'Str',
);
has description => (
is => 'ro',
isa => 'Str',
required => 1,
default => 'Package names found in directory $CPAN/authors/id/',
);
has columns => (
is => 'ro',
isa => 'Str',
required => 1,
default => 'package name, version, path',
);
has intended_for => (
is => 'ro',
isa => 'Str',
required => 1,
default => 'Automated fetch routines, namespace documentation.',
);
has packages => (
is => 'bare',
isa => 'ArrayRef[HashRef]',
default => sub { [] },
traits => ['Array'],
handles => {
package_count => 'count',
packages => 'elements',
add_package => 'push',
},
);
sub BUILDARGS {
my ( $class, %args ) = @_;
if ( $args{uri} or $args{repo_uri} )
{
( run in 0.864 second using v1.01-cache-2.11-cpan-39bf76dae61 )