Skip to content
Ohm plugin that exposes ttl control over modules
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
lib/ohm
test
.gitignore
CHANGELOG
LICENSE
README.md
Rakefile
ohm-expire.gemspec

README.md

ohm-expire

Ohm plugin that exposes ttl control over modules

Getting started

Install gem by running:

$ [sudo] gem install ohm-expire

On your source code add:

require "ohm/expire"

After this you need to tell your Ohm Model that it needs to use this extension. Here is an example of a module:

class Model < Ohm::Model

    include Ohm::Expire

    TTL = 5

    attribute :hash
    index :hash

    expire Model::TTL

    attribute :data
end

This will create this Ohm Model class with an expire of 5 seconds

Updating TTL

It's easy to update the TTL after creating a Model. There is also the possibility to simple update the ttl with the default value (the one that was defined on the Model)

Taking the example above:

m = Model.create(:hash => "123")
m.update_ttl 30 # Updated to 30 seconds
m.update_ttl # Updated to 5 seconds (Model::TTL)

Getting TTL

To get the TTL of a given model:

m = Model.create(:hash => "123")
m.get_ttl
You can’t perform that action at this time.