table of contents
Code::TidyAll::CacheModel(3pm) | User Contributed Perl Documentation | Code::TidyAll::CacheModel(3pm) |
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.
2024-06-15 | perl v5.38.2 |