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

: (String) -> void



12
13
14
# File 'lib/riffer/messages/base.rb', line 12

def initialize(content)
  @content = content
end

Instance Attribute Details

#contentObject (readonly)

The message content.



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

def content
  @content
end

Instance Method Details

#roleObject

Returns the message role.

Raises NotImplementedError if not implemented by subclass.

: () -> Symbol

Raises:

  • (NotImplementedError)


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

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

#to_hObject

Converts the message to a hash.

: () -> Hash[Symbol, untyped]



19
20
21
# File 'lib/riffer/messages/base.rb', line 19

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