Class: A2A::Storage::Memory
- Defined in:
- lib/simple_a2a/storage/memory.rb
Instance Method Summary collapse
- #clear ⇒ Object
- #delete(id) ⇒ Object
- #find(id) ⇒ Object
- #find!(id) ⇒ Object
-
#initialize ⇒ Memory
constructor
A new instance of Memory.
- #list ⇒ Object
- #save(task) ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize ⇒ Memory
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
#clear ⇒ Object
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 |
#list ⇒ Object
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 |
#size ⇒ Object
32 33 34 |
# File 'lib/simple_a2a/storage/memory.rb', line 32 def size @mutex.synchronize { @store.size } end |