diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2020-02-10 20:55:31 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2020-02-10 20:56:26 -0700 |
commit | b8dbaa0149d7f300a608bb1ee92178b29589617a (patch) | |
tree | 154391377a932bec95e8ed8e2340e2b4dc683ce6 | |
parent | d5003c566d49b2c43726dc0575dd934476e5f9a4 (diff) | |
download | p5-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.pm | 11 | ||||
-rw-r--r-- | lib/Git/Annex/Wrapper.pm | 40 |
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; |