use Moose::Autobox;
use aliased 'Gitalist::Git::Repository';
+ requires 'debug_string';
+
has repositories => (
is => 'ro',
isa => ArrayRef['Gitalist::Git::Repository'],
coerce => 1,
);
+ method debug_string { 'repository directory ' . $self->repo_dir }
+
method BUILD {
# Make sure repo_dir is an absolute path so that
# ->contains() works correctly.
coerce => 1,
);
+ method debug_string { 'repository directory ' . $self->repo_dir . ' whitelist file ' . $self->whitelist }
+
method _build_repositories {
return [
map Gitalist::Git::Repository->new($_),
coerce => 1,
);
+ method debug_string { 'repository directory ' . $self->repo_dir }
+
method BUILD {
# Make sure repo_dir is an absolute path so that ->contains() works correctly.
$self->repo_dir->resolve;
},
);
+ method debug_string { 'repository directories ' . join(" ", map { $_."" } $self->repos->flatten) }
+
method _build__repos_by_name {
+{ map { basename($_) => dir($_) } $self->repos->flatten };
}
required => 1,
);
+ method debug_string { 'chosen collection ' . ref($self->chosen_collection) . " " . $self->chosen_collection->debug_string }
+
role_type 'Gitalist::Git::CollectionOfRepositories';
has chosen_collection => (
does => 'Gitalist::Git::CollectionOfRepositories',
my $class = $self->class;
- $ctx->log->debug("Using class '$class'") if $ctx->debug;
+ my $model = $class->new(%args);
- return $class->new(%args);
+ $ctx->log->debug("Using class '$class' " . $model->debug_string) if $ctx->debug;
+
+ return $model;
}
__PACKAGE__->meta->make_immutable;