Take me over?
NAME
Code::TidyAll::CacheModel - Caching model for Code::TidyAll
VERSION
version 0.32
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 in the cache a hash key of the file contents keyed by a hash key of the file's path.
Attributes
- full_path (required, ro)
-
The full path to the file on disk
- path (required, ro)
-
The local path to the file (i.e. what the cache system will consider the canonical name of the file)
- cache_engine (optional, default undef, ro)
-
A
Code::TidyAll::Cache
compatible instance, or, if no caching is required undef. - base_sig (optional, default empty string, ro)
-
A base signature.
- file_contents (optional, default loads file contents from disk, rw)
- is_cached (optional, default computed, rw)
-
A flag indicating if this is cached. By default checks that the cache key and cache value match the cache.
Methods
- cache_key
-
The computed cache key for the file
- cache_value
-
The computed cache value for the file
- update
-
Updates the cache
- remove
-
Attempts to remove the value from the cache
SEE ALSO
AUTHORS
Jonathan Swartz <swartz@pobox.com>
Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 - 2015 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.