Take me over?
NAME
Code::TidyAll::CacheModel - Caching model for Code::TidyAll
VERSION
version 0.84
SYNOPSIS
my $cache_model = Cody::TidyAll::CacheModel->new(
cache_engine => Code::TidyAll::Cache->new(...),
path => '/path/to/file/to/cache',
);
# check cache
print 'Yes!' if $cache_model->is_cached;
# update cache
$cache_model->clear_file_contents;
$cache_model->update;
# update the cache when you know the file contents
$cache_model->file_contents($new_content);
$cache_model->update;
# force removal from cache
$cache_model->remove;
DESCRIPTION
A cache model for Code::TidyAll. Different subclasses can employ different caching techniques.
The basic model implemented here is simple; It stores a hash key of the file contents keyed by a hash key of the file's path.
METHODS
This class has the following methods:
Code::TidyAll::CacheModel->new(%params)
The constructor accepts the following attributes:
full_path
The full path to the cache file on disk. This is required.
path
The local path to the file (i.e. what the cache system will consider the canonical name of the file).
cache_engine
A
Code::TidyAll::Cache
compatible instance. This can be omitted if no caching is actually being done.base_sig
A base signature. This defaults to an empty string.
file_contents
The contents of the file being cached. This can be omitted, in which case it will be loaded as needed.
is_cached
A boolean indicating if this file is cached. By default this is computed by checking that the cache key and cache value match what is in the cache.
$model->full_path
The value passed to the constructor.
$model->path
The value passed to the constructor.
$model->cache_engine
The value passed to the constructor.
$model->base_sig
The value passed to the constructor or the default value, an empty string.
$model->file_contents
The file contents, which will be loaded from the file system if needed.
$model->is_cached
A boolean indicating whether the path is currently in the cache.
$model->cache_key
The computed cache key for the file.
$model->cache_value
The computed cache value for the file.
$model->update
Updates the cache.
$model->remove
Attempts to remove the value from the cache.
SUPPORT
Bugs may be submitted at https://github.com/houseabsolute/perl-code-tidyall/issues.
SOURCE
The source code repository for Code-TidyAll can be found at https://github.com/houseabsolute/perl-code-tidyall.
AUTHORS
Jonathan Swartz <swartz@pobox.com>
Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 - 2023 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.
The full text of the license can be found in the LICENSE file included with this distribution.