package JIB::Repository::Set;
use strict;
use warnings;
use Params::Check qw[check];
use Log::Message::Simple qw[:STD];
use Path::Class ();
use Data::Dumper;
use JIB::Repository;
use base 'Object::Accessor';
=head2 $set = JIB::Repository::Set->new( [dirs => \@dirs] );
=cut
sub new {
my $class = shift;
my %hash = @_;
my $dirs;
my $tmpl = {
dirs => { default => [@INC], strict_type => 1, store => \$dirs },
};
check( $tmpl, \%hash ) or error( Params::Check->last_error ), return;
my @inst;
for my $dir ( @$dirs ) {
my $inst = JIB::Repository->new( dir => $dir )
or error( "Could not create JIB::Repository object from '$dir'" );
push @inst, $inst;
}
my $obj = $class->SUPER::new();
$obj->mk_accessors( qw[repositories] );
$obj->repositories( \@inst );
return $obj;
}
1;
# Local variables:
# c-indentation-style: bsd
# c-basic-offset: 4
# indent-tabs-mode: nil
# End:
# vim: expandtab shiftwidth=4: