class Tins::LRUCache
def [](key)
def [](key) case value = @data.delete(key){ not_exist } when not_exist nil else @data[key] = value end end
def []=(key, value)
def []=(key, value) @data.delete(key) @data[key] = value if @data.size > @capacity @data.delete(@data.keys.first) end value end
def clear
def clear @data.clear end
def delete(key)
def delete(key) @data.delete(key) end
def each(&block)
def each(&block) @data.reverse_each(&block) end
def initialize(capacity)
def initialize(capacity) @capacity = capacity @data = {} end
def not_exist
def not_exist self.class.send(:not_exist) end
def size
def size @data.size end