table of contents
Code::TidyAll::CacheModel(3pm) | User Contributed Perl Documentation | Code::TidyAll::CacheModel(3pm) |
NAME¶
Code::TidyAll::CacheModel - Caching model for Code::TidyAllVERSION¶
version 0.55SYNOPSIS¶
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
SUPPORT¶
Bugs may be submitted through <https://github.com/houseabsolute/perl-code-tidyall/issues>.I am also usually active on IRC as 'drolsky' on "irc://irc.perl.org".
AUTHORS¶
- Jonathan Swartz <swartz@pobox.com>
- Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2011 - 2016 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.
2017-01-06 | perl v5.24.1 |