From b8dbaa0149d7f300a608bb1ee92178b29589617a Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Mon, 10 Feb 2020 20:55:31 -0700 Subject: put Git::Annex::Wrapper in its own file Signed-off-by: Sean Whitton --- lib/Git/Annex.pm | 11 +---------- lib/Git/Annex/Wrapper.pm | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 lib/Git/Annex/Wrapper.pm 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 +# +# 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 . + +=head1 DESCRIPTION + +See documentation for L. + +=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; -- cgit v1.2.3