/usr/share/perl5/Search/GIN/Keys/Expand.pm is in libsearch-gin-perl 0.11-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | use strict;
use warnings;
package Search::GIN::Keys::Expand;
our $VERSION = '0.11';
use Moose::Role;
use Carp qw(croak);
use namespace::autoclean;
sub expand_keys {
my ( $self, @keys ) = @_;
return map { $self->expand_key($_) } @keys;
}
sub expand_key {
my ( $self, $value, %args ) = @_;
return $self->expand_key_string($value) if not ref $value;
my $method = "expand_keys_" . lc ref($value);
croak("Don't know how to expand $value in key") if $method =~ /::/ or not $self->can($method);
return $self->$method($value);
}
sub expand_key_prepend {
my ( $self, $prefix, @keys ) = @_;
return map { [ $prefix, @$_ ] } @keys;
}
sub expand_key_string {
my ( $self, $str ) = @_;
return [ $str ];
}
sub expand_keys_array {
my ( $self, $array ) = @_;
return map { $self->expand_key($_) } @$array;
}
sub expand_keys_hash {
my ( $self, $hash ) = @_;
return map {
$self->expand_key_prepend(
$_,
$self->expand_key($hash->{$_})
);
} keys %$hash;
}
1;
|