From b771cafaba1c43e1866c6d9fe51856e128f07646 Mon Sep 17 00:00:00 2001 From: Jacob Bachmeyer Date: Thu, 29 Jun 2023 21:59:25 -0500 Subject: [PATCH] Move package name extraction to directory name object method --- gatekeeper.pl | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/gatekeeper.pl b/gatekeeper.pl index d58a9df..40f8997 100755 --- a/gatekeeper.pl +++ b/gatekeeper.pl @@ -927,6 +927,15 @@ and directory name elements. bless \@ob, $class } +=item $package = $directory->package_name + +Return the package name implied in DIRECTORY, which is the first component +of the name. + +=cut + + sub package_name { (shift)->[0] } + } @@ -1338,18 +1347,6 @@ sub keyidx_email { return map _keyidx_get('Ef'.uc), grep defined, @_ } =over -=item $package_name = directory_package_name ( $directory ) - -Extract the package name implied in DIRECTORY, which is the first component -of the file name. - -=cut - -sub directory_package_name { - my @directory = File::Spec::Unix->splitdir(shift); - return $directory[0]; -} - =item @files = directory_configuration_files ( $file, $directory ) Return list of FILEs applicable to DIRECTORY. The rule used is that each @@ -1376,7 +1373,8 @@ sub directory_configuration_files { =item @keyrings = directory_keyrings ( $directory ) Return list of keyrings present in package configuration and applicable to -DIRECTORY, which is a relative name beginning with the appropriate package. +DIRECTORY, which is a directory name object beginning with the appropriate +package. =cut @@ -1406,7 +1404,7 @@ sub directory_email_addresses { local *_; - my $package_name = directory_package_name($directory); + my $package_name = $directory->package_name; my @email_files = directory_configuration_files('email', $directory); @@ -1758,7 +1756,7 @@ sub find_package { # Check that we have a keyring for this package: my @keyrings = ::directory_keyrings($self->target_directory); unless (@keyrings) { - my $package = ::directory_package_name($self->target_directory); + my $package = $self->target_directory->package_name; throw package_configuration => package_name => $package, summary => "no keyring for package $package" } -- 2.25.1