Scroll to navigation

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

NAME

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

VERSION

version 0.78

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>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 - 2020 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.

2021-02-19 perl v5.32.1