Class: Geminize::ConversationRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/geminize/conversation_repository.rb

Overview

Interface for conversation repositories

Instance Method Summary collapse

Instance Method Details

#delete(id) ⇒ Boolean

Delete a conversation by ID

Parameters:

  • id (String)

    The ID of the conversation to delete

Returns:

  • (Boolean)

    True if the deletion was successful

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/geminize/conversation_repository.rb', line 26

def delete(id)
  raise NotImplementedError, "Subclasses must implement #delete"
end

#listArray<Hash>

List all available conversations

Returns:

  • (Array<Hash>)

    An array of conversation metadata

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/geminize/conversation_repository.rb', line 32

def list
  raise NotImplementedError, "Subclasses must implement #list"
end

#load(id) ⇒ Models::Conversation?

Load a conversation by ID

Parameters:

  • id (String)

    The ID of the conversation to load

Returns:

Raises:

  • (NotImplementedError)


19
20
21
# File 'lib/geminize/conversation_repository.rb', line 19

def load(id)
  raise NotImplementedError, "Subclasses must implement #load"
end

#save(conversation) ⇒ Boolean

Save a conversation

Parameters:

Returns:

  • (Boolean)

    True if the save was successful

Raises:

  • (NotImplementedError)


12
13
14
# File 'lib/geminize/conversation_repository.rb', line 12

def save(conversation)
  raise NotImplementedError, "Subclasses must implement #save"
end