summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2020-02-10 20:55:31 -0700
committerSean Whitton <spwhitton@spwhitton.name>2020-02-10 20:56:26 -0700
commitb8dbaa0149d7f300a608bb1ee92178b29589617a (patch)
tree154391377a932bec95e8ed8e2340e2b4dc683ce6
parentd5003c566d49b2c43726dc0575dd934476e5f9a4 (diff)
downloadp5-Git-Annex-b8dbaa0149d7f300a608bb1ee92178b29589617a.tar.gz
put Git::Annex::Wrapper in its own file
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--lib/Git/Annex.pm11
-rw-r--r--lib/Git/Annex/Wrapper.pm40
2 files changed, 41 insertions, 10 deletions
diff --git a/lib/Git/Annex.pm b/lib/Git/Annex.pm
index 9449a7d..209c55f 100644
--- a/lib/Git/Annex.pm
+++ b/lib/Git/Annex.pm
@@ -55,6 +55,7 @@ use warnings;
use Cwd;
use File::chdir;
use Git::Wrapper;
+use Git::Annex::Wrapper;
use Git::Repository;
use Try::Tiny;
use File::Spec::Functions qw(catfile rel2abs);
@@ -279,16 +280,6 @@ sub _git_path {
rel2abs $path, $self->toplevel;
}
-package Git::Annex::Wrapper {
- AUTOLOAD {
- my $self = shift;
- (my $subcommand = our $AUTOLOAD) =~ s/.+:://;
- return if $subcommand eq "DESTROY";
- $subcommand =~ tr/_/-/;
- $$self->git->RUN("annex", $subcommand, @_);
- }
-}
-
=attr annex
Gives access to git-annex subcommands in the same way that
diff --git a/lib/Git/Annex/Wrapper.pm b/lib/Git/Annex/Wrapper.pm
new file mode 100644
index 0000000..12d47b0
--- /dev/null
+++ b/lib/Git/Annex/Wrapper.pm
@@ -0,0 +1,40 @@
+package Git::Annex::Wrapper;
+# ABSTRACT: class used in implementation of Git::Annex::annex
+#
+# Copyright (C) 2020 Sean Whitton <spwhitton@spwhitton.name>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+=head1 DESCRIPTION
+
+See documentation for L<Git::Annex::annex>.
+
+=cut
+
+use 5.028;
+use strict;
+use warnings;
+
+# credits to Git::Wrapper's author for the idea of accessing
+# subcommands in this way; I've just extended that idea to
+# subsubcommands of git
+AUTOLOAD {
+ my $self = shift;
+ (my $subcommand = our $AUTOLOAD) =~ s/.+:://;
+ return if $subcommand eq "DESTROY";
+ $subcommand =~ tr/_/-/;
+ $$self->git->RUN("annex", $subcommand, @_);
+}
+
+1;