Sha256: 0354e3190e39df2aa56530dd8bb55405961ca57afb6ca638e98b25258bfc3cd8

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

= rufus-lru

LruHash class, a Hash with a max size, controlled by a LRU mechanism


== getting it

  gem install rufus-lru

or at

http://rubyforge.org/frs/?group_id=4812


== usage

It's a regular hash, but you have to set a maxsize at instantiation.

Once the maxsize is reached, the hash will discard the element that was the
least recently used (hence LRU).

  require 'rubygems'
  require 'rufus/lru'

  h = LruHash.new 3

  5.times { |i| h[i] = "a" * i }

  puts h.inspect # >> {2=>"aa", 3=>"aaa", 4=>"aaaa"}

  h[:newer] = "b"

  puts h.inspect # >> {:newer=>"b", 3=>"aaa", 4=>"aaaa"}


== dependencies

None.


== mailing list

On the rufus-ruby list[http://groups.google.com/group/rufus-ruby] :

  http://groups.google.com/group/rufus-ruby


== issue tracker

http://github.com/jmettraux/rufus-lru/issues


== irc

irc.freenode.net #ruote


== source

http://github.com/jmettraux/rufus-lru

  git clone git://github.com/jmettraux/rufus-lru.git


== author

John Mettraux, jmettraux@gmail.com 
http://jmettraux.wordpress.com


== the rest of Rufus

http://rufus.rubyforge.org


== license

MIT

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rufus-lru-1.0.3 README.rdoc