X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FApp%2FRgit%2FRepository.pm;h=1d8d490c16ea6c6e84db0ade55e760612fa1bcbe;hb=c4df0499041f9632e0b0bdfcf563b28565b503d0;hp=8a915b09f54fcc45b94274f5be74f8c1cd1e64cb;hpb=9fa31a712601956c8e4c34cbfc0af111346920c3;p=perl%2Fmodules%2Frgit.git diff --git a/lib/App/Rgit/Repository.pm b/lib/App/Rgit/Repository.pm index 8a915b0..1d8d490 100644 --- a/lib/App/Rgit/Repository.pm +++ b/lib/App/Rgit/Repository.pm @@ -14,21 +14,17 @@ BEGIN { *WIFSIGNALED = sub { shift() & 127 } unless eval { WIFSIGNALED(0); 1 }; } -use Object::Tiny qw/fake repo bare name work/; - -use App::Rgit::Utils qw/validate/; - =head1 NAME App::Rgit::Repository - Class representing a Git repository. =head1 VERSION -Version 0.05 +Version 0.06 =cut -our $VERSION = '0.05'; +our $VERSION = '0.06'; =head1 DESCRIPTION @@ -46,14 +42,19 @@ If the C option is passed, C<$dir> isn't checked to be a valid C repo =cut sub new { - my ($class, %args) = &validate; + my $class = shift; + $class = ref $class || $class; + + my %args = @_; + my $dir = $args{dir}; $dir = abs_path $dir if defined $dir and not file_name_is_absolute $dir; $dir = cwd unless defined $dir; + my ($repo, $bare, $name, $work); if ($args{fake}) { $repo = $work = $dir; - } else { + } else { my @tries = ($dir); my @chunks = splitdir $dir; my $last = pop @chunks; @@ -79,13 +80,14 @@ sub new { $work = $repo; } } - $class->SUPER::new( + + bless { fake => !!$args{fake}, repo => $repo, bare => $bare, name => $name, work => $work, - ); + }, $class; } =head2 C @@ -180,7 +182,13 @@ sub run { =head2 C -Accessors. +Read-only accessors. + +=cut + +BEGIN { + eval "sub $_ { \$_[0]->{$_} }" for qw/fake repo bare name work/; +} =head1 SEE ALSO @@ -189,7 +197,7 @@ L. =head1 AUTHOR Vincent Pit, C<< >>, L. - + You can contact me by mail or on C (vincent). =head1 BUGS @@ -204,7 +212,7 @@ You can find documentation for this module with the perldoc command. =head1 COPYRIGHT & LICENSE -Copyright 2008 Vincent Pit, all rights reserved. +Copyright 2008-2009 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.