Class: SplitIoClient::Cache::Adapters::MemoryAdapter

Inherits:
Adapter
  • Object
show all
Defined in:
lib/cache/adapters/memory_adapter.rb

Instance Method Summary collapse

Methods inherited from Adapter

#get, #key?, #remove, #set

Constructor Details

#initializeMemoryAdapter

Returns a new instance of MemoryAdapter.



7
8
9
# File 'lib/cache/adapters/memory_adapter.rb', line 7

def initialize
  @map = Concurrent::Map.new
end

Instance Method Details

#[](key) ⇒ Object

Map



12
13
14
# File 'lib/cache/adapters/memory_adapter.rb', line 12

def [](key)
  @map[key]
end

#[]=(key, obj) ⇒ Object



16
17
18
# File 'lib/cache/adapters/memory_adapter.rb', line 16

def []=(key, obj)
  @map[key] = obj
end

#add_to_map(key, map_key, map_value) ⇒ Object



24
25
26
# File 'lib/cache/adapters/memory_adapter.rb', line 24

def add_to_map(key, map_key, map_value)
  @map[key].put(map_key, map_value)
end

#delete_from_map(key, map_key) ⇒ Object



34
35
36
# File 'lib/cache/adapters/memory_adapter.rb', line 34

def delete_from_map(key, map_key)
  @map[key].delete(map_key)
end

#find_in_map(key, map_key) ⇒ Object



28
29
30
31
32
# File 'lib/cache/adapters/memory_adapter.rb', line 28

def find_in_map(key, map_key)
  return nil if @map[key].nil?

  @map[key].get(map_key)
end

#in_map?(key, map_key) ⇒ Boolean

Returns:

  • (Boolean)


38
39
40
41
42
# File 'lib/cache/adapters/memory_adapter.rb', line 38

def in_map?(key, map_key)
  return false if @map[key].nil?

  @map[key].key?(map_key)
end

#initialize_map(key) ⇒ Object



20
21
22
# File 'lib/cache/adapters/memory_adapter.rb', line 20

def initialize_map(key)
  @map[key] = Concurrent::Map.new
end