/usr/share/perl5/CHI/Driver/Metacache.pm is in libchi-perl 0.58-1.
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | package CHI::Driver::Metacache;
{
$CHI::Driver::Metacache::VERSION = '0.58';
}
use CHI::Constants qw(CHI_Meta_Namespace);
use Moo;
use strict;
use warnings;
has 'meta_cache' => ( is => 'lazy', clearer => 'clear_meta_cache', predicate => 'has_meta_cache');
has 'owner_cache' => ( is => 'ro', weak_ref => 1 );
has 'owner_namespace' => ( is => 'lazy', clearer => 'clear_owner_namespace', predicate => 'has_owner_namespace');
sub _build_meta_cache {
my ($self) = @_;
my $owner_cache = $self->owner_cache;
my %params = %{ $owner_cache->constructor_params };
delete( @params{qw(l1_cache mirror_cache parent_cache chi_root_class)} );
$params{label} = $owner_cache->label . " (meta)";
$params{namespace} = CHI_Meta_Namespace;
return $owner_cache->chi_root_class->new(%params);
}
sub _build_owner_namespace {
my ($self) = @_;
return $self->owner_cache->namespace;
}
sub get {
my ( $self, $key ) = @_;
return $self->meta_cache->fetch( $self->_prefixed_key($key) );
}
sub set {
my ( $self, $key, $value ) = @_;
return $self->meta_cache->store( $self->_prefixed_key($key), $value );
}
sub remove {
my ( $self, $key, $value ) = @_;
return $self->meta_cache->remove( $self->_prefixed_key($key) );
}
sub _prefixed_key {
my ( $self, $key ) = @_;
return $self->owner_namespace . ":" . $key;
}
1;
__END__
=pod
=head1 NAME
CHI::Driver::Metacache - Metacache for internal CHI use
=head1 VERSION
version 0.58
=head1 SYNOPSIS
$cache->metacache->get($meta_key);
$cache->metacache->set($meta_key => $value);
=head1 SEE ALSO
L<CHI|CHI>
=head1 AUTHOR
Jonathan Swartz <swartz@pobox.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Jonathan Swartz.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|