Class: Kisyo::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/kisyo/cache.rb

Constant Summary collapse

CACHE_SIZE =
100

Instance Method Summary collapse

Constructor Details

#initializeCache

Returns a new instance of Cache.



5
6
7
8
# File 'lib/kisyo/cache.rb', line 5

def initialize
  @keys = []
  @values = {}
end

Instance Method Details

#get(key) ⇒ Object



10
11
12
# File 'lib/kisyo/cache.rb', line 10

def get(key)
  values[key]
end

#set(key, value) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/kisyo/cache.rb', line 14

def set(key, value)
  keys << key
  values[key] = value

  if keys.size > CACHE_SIZE
    oldest_key = keys.shift
    values.delete(oldest_key)
  end
end