NAME
   Mason::Plugin::Cache - Provide component cache object and filter

VERSION
   version 0.03

SYNOPSIS
       my $result = $.cache->get('key');
       if (!defined($result)) {
           ... compute $result ...
           $.cache->set('key', $result, '5 minutes');
       }

       ...

       <% $.Cache('key2', '1 hour') { %>
         <!-- this will be cached for an hour -->
       </%>

DESCRIPTION
   Adds a `cache' method and `Cache' filter to access a cache (CHI) object
   with a namespace unique to the component.

INTERP PARAMETERS
   cache_defaults
       Hash of parameters passed to cache constructor. Defaults to

           driver=>'File', root_dir => 'DATA_DIR/cache'

       which will create a basic file cache under Mason's data directory.

   cache_root_class
       Class used to create a cache. Defaults to CHI.

COMPONENT METHODS
   cache
       Returns a new cache object with the namespace set to the component's
       path. Parameters to this method, if any, are combined with
       cache_defaults and passed to the cache_root_class constructor. The
       cache object is memoized when no parameters are passed.

FILTERS
   Cache ($key, $set_options, [%cache_params])
       Caches the content using `$self->cache' and the supplied cache
       *$key*. *$set_options*, if provided, is passed as the third argument
       to `$self->cache->set' - it is usually an expiration time.
       *%cache_params*, if any, are passed to `$self->cache'.

           <% $.Cache($my_key, '1 hour') { %>
             <!-- this will be cached for an hour -->
           </%>

SUPPORT
   The mailing list for Mason and Mason plugins is
   [email protected]. You must be subscribed to send a
   message. To subscribe, visit
   https://lists.sourceforge.net/lists/listinfo/mason-users.

   You can also visit us at `#mason' on irc:.

   Bugs and feature requests will be tracked at RT:

       http://rt.cpan.org/NoAuth/Bugs.html?Dist=Mason-Plugin-Cache
       [email protected]

   The latest source code can be browsed and fetched at:

       http://github.com/jonswar/perl-mason-plugin-cache
       git clone git://github.com/jonswar/perl-mason-plugin-cache.git

SEE ALSO
   Mason

AUTHOR
   Jonathan Swartz <[email protected]>

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