Man pages sections > man3 > Code::TidyAll::CacheModel

Code::TidyAll::CacheModel - Caching model for Code::TidyAll

Code::TidyAll::CacheModel(3pm) User Contributed Perl Documentation Code::TidyAll::CacheModel(3pm)

NAME

Code::TidyAll::CacheModel - Caching model for Code::TidyAll

VERSION

version 0.67

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 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>.
I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".

SOURCE

The source code repository for Code-TidyAll can be found at <https://github.com/houseabsolute/perl-code-tidyall>.

AUTHORS

Jonathan Swartz <swartz@pobox.com>
Dave Rolsky <autarch@urth.org>
This software is copyright (c) 2011 - 2017 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.
2017-10-05 perl v5.26.0