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 cacheprint '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 <[email protected]>
- •
-
Dave Rolsky <[email protected]>
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.