Code::TidyAll::CacheModel − Caching model for Code::TidyAll
version 0.55
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;
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
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".
• |
Jonathan Swartz <swartz AT pobox DOT com> |
|||
• |
Dave Rolsky <autarch AT urth DOT org> |
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.