Class: Llmemory::ShortTerm::Stores::MemoryStore
- Defined in:
- lib/llmemory/short_term/stores/memory_store.rb
Instance Method Summary collapse
- #delete(user_id, session_id) ⇒ Object
-
#initialize ⇒ MemoryStore
constructor
A new instance of MemoryStore.
- #list_sessions(user_id:) ⇒ Object
- #list_users ⇒ Object
- #load(user_id, session_id) ⇒ Object
- #save(user_id, session_id, state) ⇒ Object
Constructor Details
#initialize ⇒ MemoryStore
Returns a new instance of MemoryStore.
9 10 11 |
# File 'lib/llmemory/short_term/stores/memory_store.rb', line 9 def initialize @store = {} end |
Instance Method Details
#delete(user_id, session_id) ⇒ Object
24 25 26 27 |
# File 'lib/llmemory/short_term/stores/memory_store.rb', line 24 def delete(user_id, session_id) @store.delete(key_for(user_id, session_id)) true end |
#list_sessions(user_id:) ⇒ Object
33 34 35 36 |
# File 'lib/llmemory/short_term/stores/memory_store.rb', line 33 def list_sessions(user_id:) prefix = "#{user_id}:" @store.keys.select { |k| k.start_with?(prefix) }.map { |k| k.split(":", 2).last } end |
#list_users ⇒ Object
29 30 31 |
# File 'lib/llmemory/short_term/stores/memory_store.rb', line 29 def list_users @store.keys.map { |k| k.split(":", 2).first }.uniq end |
#load(user_id, session_id) ⇒ Object
19 20 21 22 |
# File 'lib/llmemory/short_term/stores/memory_store.rb', line 19 def load(user_id, session_id) key = key_for(user_id, session_id) @store.dig(key, :state) end |
#save(user_id, session_id, state) ⇒ Object
13 14 15 16 17 |
# File 'lib/llmemory/short_term/stores/memory_store.rb', line 13 def save(user_id, session_id, state) key = key_for(user_id, session_id) @store[key] = { state: state, updated_at: Time.now } true end |