use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
use MooseX::Types::Moose qw/ ArrayRef HashRef /;
use MooseX::Types::Path::Class qw/Dir/;
+ use Gitalist::Git::Types qw/ ArrayRefOfDirs /;
use File::Basename qw/basename/;
use Path::Class qw/dir/;
use Moose::Autobox;
has repos => (
- isa => ArrayRef[NonEmptySimpleStr],
+ isa => ArrayRefOfDirs,
is => 'ro',
+ coerce => 1,
required => 1,
);
has _repos_by_name => (
},
);
+ method debug_string { 'repository directories ' . join(" ", map { $_."" } $self->repos->flatten) }
+
method _build__repos_by_name {
+{ map { basename($_) => dir($_) } $self->repos->flatten };
}
+ method _get_repo_from_name (NonEmptySimpleStr $name) {
+ return Gitalist::Git::Repository->new($self->_get_path_for_repository_name($name));
+ }
+
## Builders
method _build_repositories {
[ map { $self->get_repository(basename($_)) } $self->repos->flatten ];