class ZendeskAPI::ZendeskAPI::LRUCache
@private
def fetch(key)
def fetch(key) if @store.has_key? key read key else write key, yield end end
def initialize(size = 10)
def initialize(size = 10) @size = size @store = {} @lru = [] end
def read(key)
def read(key) set_lru(key) @store[key] end
def set_lru(key)
def set_lru(key) @lru.unshift(@lru.delete(key) || key) end
def write(key, value)
def write(key, value) @store[key] = value set_lru(key) @store.delete(@lru.pop) if @lru.size > @size value end