Provided by: libcode-tidyall-perl_0.32~dfsg-1_all bug

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

       Code::TidyAll

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.

perl v5.20.2                                       2015-11-19                     Code::TidyAll::CacheModel(3pm)