Class: A2A::Storage::Memory

Inherits:
Base
  • Object
show all
Defined in:
lib/simple_a2a/storage/memory.rb

Instance Method Summary collapse

Constructor Details

#initializeMemory

Returns a new instance of Memory.



6
7
8
9
# File 'lib/simple_a2a/storage/memory.rb', line 6

def initialize
  @store = {}
  @mutex = Mutex.new
end

Instance Method Details

#clearObject



36
37
38
# File 'lib/simple_a2a/storage/memory.rb', line 36

def clear
  @mutex.synchronize { @store.clear }
end

#delete(id) ⇒ Object



24
25
26
# File 'lib/simple_a2a/storage/memory.rb', line 24

def delete(id)
  @mutex.synchronize { @store.delete(id) }
end

#find(id) ⇒ Object



16
17
18
# File 'lib/simple_a2a/storage/memory.rb', line 16

def find(id)
  @mutex.synchronize { @store[id] }
end

#find!(id) ⇒ Object



20
21
22
# File 'lib/simple_a2a/storage/memory.rb', line 20

def find!(id)
  find(id) or raise TaskNotFoundError, "Task #{id} not found"
end

#listObject



28
29
30
# File 'lib/simple_a2a/storage/memory.rb', line 28

def list
  @mutex.synchronize { @store.values.dup }
end

#save(task) ⇒ Object



11
12
13
14
# File 'lib/simple_a2a/storage/memory.rb', line 11

def save(task)
  @mutex.synchronize { @store[task.id] = task }
  task
end

#sizeObject



32
33
34
# File 'lib/simple_a2a/storage/memory.rb', line 32

def size
  @mutex.synchronize { @store.size }
end