The cached items are stored in a linked list to facilitate a
constant(*) time lru algorithm. I could use a separate wrapper object
to avoid 'polluting' the objects to be cached but I decided that the
extra object creation (and related gc strain) is not justified.

Please have a look at the (very clean) source, and if you have a better
idea let me know!

regards,
George Moschovitis



(*) if you consider a Ruby Hash lookup constant.