e780f5b73a37d9be905d5818ccd9e81dcd67de93
[catagits/Gitalist.git] / lib / Gitalist / Model / GitRepos.pm
1 package Gitalist::Model::GitRepos;
2
3 use Moose;
4 use Gitalist::Git::Repo;
5 use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
6 use namespace::autoclean;
7
8 extends 'Catalyst::Model';
9
10 with 'Catalyst::Component::InstancePerContext';
11
12 has repo_dir => (
13     isa => NonEmptySimpleStr,
14     is => 'ro',
15     required => 1,
16 );
17
18 sub build_per_context_instance {
19     my ($self, $app) = @_;
20
21     Gitalist::Git::Repo->new(repo_dir => $self->repo_dir);
22 }
23
24 __PACKAGE__->meta->make_immutable;
25