use MooseX::Declare;
class Gitalist::Git::Object {
+ use MooseX::Types::Moose qw/Str Int/;
use File::Stat::ModeString qw/mode_to_string/;
has project => ( isa => 'Gitalist::Git::Project',
required => 1,
is => 'ro',
handles => [ 'run_cmd' ],
);
- has sha1 => ( isa => 'Str',
+ has $_ => ( isa => Str,
required => 1,
- is => 'ro' );
- has type => ( isa => 'Str',
+ is => 'ro' )
+ for qw/sha1 file/;
+ has $_ => ( isa => Str,
required => 1,
is => 'ro',
- lazy_build => 1 );
- has file => ( isa => 'Str',
+ lazy_build => 1 )
+ for qw/type modestr/;
+ has $_ => ( isa => Int,
required => 1,
- is => 'ro' );
- has mode => ( isa => 'Int',
- required => 1,
- is => 'ro' );
- has modestr => ( isa => 'Str',
- is => 'ro',
- lazy_build => 1,
- );
- has size => ( isa => 'Int',
- is => 'ro',
- lazy_build => 1);
+ is => 'ro' )
+ for qw/mode size/;
method _build_type {
my $output = $self->run_cmd(qw/cat-file -t/, $self->{sha1});
class Gitalist::Git::Project {
# FIXME, use Types::Path::Class and coerce
use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
+ use MooseX::Types::Moose qw/Str Maybe/;
use DateTime;
use Path::Class;
use Gitalist::Git::Util;
has path => ( isa => "Path::Class::Dir",
is => 'ro');
- has description => ( isa => 'Str',
+ has description => ( isa => Str,
is => 'ro',
lazy_build => 1,
);
is => 'ro',
lazy_build => 1,
);
- has last_change => ( isa => 'DateTime',
+ has last_change => ( isa => Maybe['DateTime'],
is => 'ro',
lazy_build => 1,
);
use File::Which;
use Git::PurePerl;
use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
- has gitdir => ( isa => "Str", is => 'ro', required => 1 );
+ use MooseX::Types::Moose qw/Str/;
+ has gitdir => ( isa => Str, is => 'ro', required => 1 );
has _git => ( isa => NonEmptySimpleStr, is => 'ro', lazy_build => 1 );
sub _build__git {
my $git = File::Which::which('git');
#use base 'Catalyst::Model::Adaptor';
use Moose;
+use MooseX::Types::Moose qw/Str/;
use namespace::autoclean;
extends 'Catalyst::Model';
has project => (
is => 'rw',
- isa => 'Str',
+ isa => Str,
);
has project_path => (
is => 'rw',