lib/lru_redux/cache.rb in lru_redux-0.0.1 vs lib/lru_redux/cache.rb in lru_redux-0.0.2

- old
+ new

@@ -1,12 +1,12 @@ class LruRedux::Cache # for high efficiency nodes in double linked list are stored in arrays # [prev,key,val,next] - def initialize(size) - @size = size + def initialize(max_size) + @max_size = max_size @data = {} @head = nil @tail = nil end @@ -60,10 +60,15 @@ prev.next = nex if prev nex.prev = prev if nex end end + def clear + @data.clear + @head = @tail = nil + end + def count @data.count end # for cache validation only, ensures all is sound @@ -106,10 +111,10 @@ node.prev = @head @head = node end def pop_tail - if @data.length == @size + if @data.length == @max_size @data.delete(@tail.key) @tail = @tail.next @tail.prev = nil end end