Class: Prefab::FixedSizeHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/prefab/fixed_size_hash.rb

Instance Method Summary collapse

Constructor Details

#initialize(max_size) ⇒ FixedSizeHash

Returns a new instance of FixedSizeHash.



4
5
6
7
# File 'lib/prefab/fixed_size_hash.rb', line 4

def initialize(max_size)
  @max_size = max_size
  super()
end

Instance Method Details

#[]=(key, value) ⇒ Object



9
10
11
12
# File 'lib/prefab/fixed_size_hash.rb', line 9

def []=(key, value)
  shift if size >= @max_size && !key?(key) # Only evict if adding a new key
  super
end