class Riffer::Messages::User
rbs_inline: enabled
Attributes
Public Class Methods
Source
# File lib/riffer/messages/user.rb, line 7 def self.from_hash(msg) return msg if msg.is_a?(Riffer::Messages::User) files = (msg[:files] || []).map { |f| Riffer::Messages::User::FilePart.from_hash(f) } new(msg[:content], id: msg[:id], files: files) end
Source
# File lib/riffer/messages/user.rb, line 18 def initialize(content, id: nil, files: []) super(content, id: id) @files = files end
Calls superclass method
Riffer::Messages::Base::new
Public Instance Methods
Source
# File lib/riffer/messages/user.rb, line 31 def +(other) self.class.new("#{content}\n\n#{other.content}", files: files + other.files) end
Source
# File lib/riffer/messages/user.rb, line 37 def to_h hash = { role: role, content: content } #: Hash[Symbol, untyped] hash[:id] = id if id hash[:files] = files.map(&:to_h) unless files.empty? hash end