| App-CPAN2Pkg documentation | Contained in the App-CPAN2Pkg distribution. |
App::CPAN2Pkg::Repository - repository details for a given module
version 2.111781
cpan2pkg deals with two kinds of systems: the local system, and
upstream distribution repository. A module has some characteristics on
both systems (such as availability, etc). Those characteristics are
gathered in this module.
The status of the module: available, building, etc.
my @prereqs = $repo->prereqs;
The prerequesites needed before attempting to build the module.
my $bool = $repo->can_build;
Return true if there are no more missing prereqs.
my $bool = $repo->miss_prereq( $modname );
Return true if $modname is missing on the system.
$repo->rm_prereq( $modname );
Remove $modname as a missing prereq on the repository.
$repo->add_prereq( $modname );
Mark a prereq as missing on the repository.
Jerome Quelin <jquelin@gmail.com>
This software is copyright (c) 2009 by Jerome Quelin.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| App-CPAN2Pkg documentation | Contained in the App-CPAN2Pkg distribution. |
# # This file is part of App-CPAN2Pkg # # This software is copyright (c) 2009 by Jerome Quelin. # # This is free software; you can redistribute it and/or modify it under # the same terms as the Perl 5 programming language system itself. # use 5.010; use strict; use warnings; package App::CPAN2Pkg::Repository; BEGIN { $App::CPAN2Pkg::Repository::VERSION = '2.111781'; } # ABSTRACT: repository details for a given module use Moose; use MooseX::Has::Sugar; use MooseX::SemiAffordanceAccessor; use App::CPAN2Pkg::Types; # -- public attributes has status => ( rw, isa=>"Status", default=>"not started" ); has _prereqs => ( ro, traits => ['Hash'], isa => 'HashRef[Str]', default => sub { {} }, handles => { _add_prereq => 'set', prereqs => 'keys', rm_prereq => 'delete', can_build => 'is_empty', miss_prereq => 'exists', }, ); # -- public methods # methods above provided for free by moose traits. sub add_prereq { my ($self, $modname) = @_; $self->_add_prereq( $modname, $modname ); } no Moose; __PACKAGE__->meta->make_immutable; 1;
__END__