Class: Geminize::MemoryConversationRepository
- Inherits:
-
ConversationRepository
- Object
- ConversationRepository
- Geminize::MemoryConversationRepository
- Defined in:
- lib/geminize/conversation_repository.rb
Overview
In-memory implementation of the ConversationRepository (for testing)
Instance Method Summary collapse
-
#delete(id) ⇒ Boolean
Delete a conversation from memory by ID.
-
#initialize ⇒ MemoryConversationRepository
constructor
Initialize a new memory repository.
-
#list ⇒ Array<Models::Conversation>
List all available conversations.
-
#load(id) ⇒ Models::Conversation?
Load a conversation from memory by ID.
-
#save(conversation) ⇒ Boolean
Save a conversation to memory.
Constructor Details
#initialize ⇒ MemoryConversationRepository
Initialize a new memory repository
122 123 124 |
# File 'lib/geminize/conversation_repository.rb', line 122 def initialize @conversations = {} end |
Instance Method Details
#delete(id) ⇒ Boolean
Delete a conversation from memory by ID
146 147 148 149 150 151 152 153 |
# File 'lib/geminize/conversation_repository.rb', line 146 def delete(id) if @conversations.key?(id) @conversations.delete(id) true else false end end |
#list ⇒ Array<Models::Conversation>
List all available conversations
157 158 159 |
# File 'lib/geminize/conversation_repository.rb', line 157 def list @conversations.values.sort_by(&:updated_at).reverse end |
#load(id) ⇒ Models::Conversation?
Load a conversation from memory by ID
139 140 141 |
# File 'lib/geminize/conversation_repository.rb', line 139 def load(id) @conversations[id] end |
#save(conversation) ⇒ Boolean
Save a conversation to memory
129 130 131 132 133 134 |
# File 'lib/geminize/conversation_repository.rb', line 129 def save(conversation) return false unless conversation @conversations[conversation.id] = conversation true end |