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



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

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)


31
32
33
# File 'lib/riffer/messages/base.rb', line 31

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

#to_hObject

Converts the message to a hash.

– : () -> Hash[Symbol, untyped]



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

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