Persistent::StorageDirectory
This gem provides a directory storage back-end to Persistent::Cache. Please see https://rubygems.org/gems/persistent-cache.
Installation
Add this line to your application's Gemfile:
gem 'persistent-cache-storage-directory'
And then execute:
$ bundle
Or install it yourself as:
$ gem install persistent-cache-storage-directory
Usage
Keys are required to be strings that are valid for use as directory names. The cache then stores from a storage root (configured in the StorageDirector constructor) with a subdirectory for each key, and a file called 'cache' for the value. The first line in the cache file is the timestamp of the entry.
When a StorageDirectory is used, it can be asked whether a key is present and what the path to a cache value is using:
get_value_path(key)
key_cached?(key)
Tell Persistent::Cache to use this provider so:
require 'persistent-cache/storage_directory'
require 'persistent-cache'
storage_location = "/tmp/directory-cache"
freshness = nil # forever or freshness in seconds
cache = Persistent::Cache.new(storage_location, freshness, Persistent::Cache::STORAGE_DIRECTORY)
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/evangraan/persistent-cache-storage-directory. This gem was sponsored by Hetzner (Pty) Ltd - http://hetzner.co.za
License
The gem is available as open source under the terms of the MIT License.