Commit | Line | Data |
d7c9a32f |
1 | package Gitalist::Model::GPP; |
2 | |
3 | #use base 'Catalyst::Model::Adaptor'; |
4 | use Moose; |
5 | use namespace::autoclean; |
6 | |
7 | extends 'Catalyst::Model'; |
8 | |
9 | use Git::PurePerl; |
10 | |
11 | has git => ( |
12 | #isa => 'Git::PurePerl' |
13 | is => 'ro', |
14 | required => 1, |
15 | lazy => 1, |
16 | default => sub { |
17 | my($self) = @_; |
18 | return Git::PurePerl->new( |
19 | directory => $self->project_path |
20 | ); |
21 | }, |
22 | ); |
23 | |
24 | has project => ( |
25 | is => 'rw', |
26 | isa => 'Str', |
27 | ); |
28 | has project_path => ( |
29 | is => 'rw', |
30 | ); |
31 | |
32 | |
33 | sub ACCEPT_CONTEXT { |
34 | my ( $self, $c ) = @_; |
35 | $self->project( $c->req->param('p') ); |
36 | $self->project_path( $c->model('Git')->project_dir( $self->project ) ); |
37 | # XXX Or just return a new Git:PP object? |
38 | return $self; |
39 | } |
40 | |
41 | sub get_object { |
42 | $_[0]->git->get_object($_[1]); |
43 | } |
44 | |
45 | 1; |