use strict;
use warnings;
-use Object::Tiny qw/config command/;
-
use App::Rgit::Command;
use App::Rgit::Config;
-use App::Rgit::Utils qw/validate/;
=head1 NAME
=head1 VERSION
-Version 0.02
+Version 0.06
=cut
-our $VERSION = '0.02';
+our $VERSION = '0.06';
=head1 DESCRIPTION
=cut
sub new {
- my ($class, %args) = &validate;
+ my $class = shift;
+ $class = ref $class || $class;
+
+ my %args = @_;
+
my $config = App::Rgit::Config->new(
- root => $args{root},
- git => $args{git},
+ root => $args{root},
+ git => $args{git},
+ debug => $args{debug},
);
return unless defined $config;
- $class->SUPER::new(
- config => $config,
- command => App::Rgit::Command->new(
- cmd => $args{cmd},
- args => $args{args},
- repos => $config->repos,
- )
+
+ my $command = App::Rgit::Command->new(
+ cmd => $args{cmd},
+ args => $args{args},
+ policy => $args{policy},
);
+ return unless defined $command;
+
+ bless {
+ config => $config,
+ command => $command,
+ }, $class;
}
=head2 C<run>
sub run {
my $self = shift;
+
$self->command->run($self->config);
}
=head2 C<command>
-Accessors.
+Read-only accessors.
+
+=cut
+
+BEGIN {
+ eval "sub $_ { \$_[0]->{$_} }" for qw/config command/;
+}
=head1 SEE ALSO
=head1 AUTHOR
Vincent Pit, C<< <perl at profvince.com> >>, L<http://profvince.com>.
-
+
You can contact me by mail or on C<irc.perl.org> (vincent).
=head1 BUGS
-Please report any bugs or feature requests to C<bug-rgit at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=rgit>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
+Please report any bugs or feature requests to C<bug-rgit at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=rgit>.
+I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
=head1 SUPPORT
=head1 COPYRIGHT & LICENSE
-Copyright 2008 Vincent Pit, all rights reserved.
+Copyright 2008,2009,2010 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.