Class: Riffer::Messages::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/riffer/messages/base.rb

Overview

Base class for all message types in the Riffer framework.

Subclasses must implement the role method.

Direct Known Subclasses

Assistant, System, Tool, User

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content) ⇒ Base

Creates a new message.

content

String - the message content



15
16
17
# File 'lib/riffer/messages/base.rb', line 15

def initialize(content)
  @content = content
end

Instance Attribute Details

#contentObject (readonly)

The message content.

Returns String.



10
11
12
# File 'lib/riffer/messages/base.rb', line 10

def content
  @content
end

Instance Method Details

#roleObject

Returns the message role.

Raises NotImplementedError if not implemented by subclass.

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/riffer/messages/base.rb', line 29

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

#to_hObject

Converts the message to a hash.

Returns Hash with :role and :content keys.



22
23
24
# File 'lib/riffer/messages/base.rb', line 22

def to_h
  {role: role, content: content}
end