Class: Brute::MessageTransport
- Inherits:
-
Object
- Object
- Brute::MessageTransport
- Defined in:
- lib/brute/message_transport.rb,
lib/brute/message_transport/llm.rb,
lib/brute/message_transport/openai.rb,
lib/brute/message_transport/ruby_llm.rb,
lib/brute/message_transport/anthropic.rb,
lib/brute/message_transport/open_router.rb,
lib/brute/message_transport/ruby_open_ai.rb
Defined Under Namespace
Classes: Anthropic, LLM, OpenAI, OpenRouter, RubyLLM, RubyOpenAI
Class Method Summary collapse
-
.dump(message) ⇒ Object
Outbound: one Brute::Message in the library's format.
-
.dump_all(messages) ⇒ Object
Outbound: the whole log in the library's format.
-
.wrap_each(result, &block) ⇒ Object
Convenience: Brute::MessageTransport.wrap_each(result) { |m| ... }.
Instance Method Summary collapse
-
#initialize(result) ⇒ MessageTransport
constructor
A new instance of MessageTransport.
-
#messages ⇒ Object
The result normalized to a flat list of the library's messages.
- #wrap_each ⇒ Object
Constructor Details
#initialize(result) ⇒ MessageTransport
Returns a new instance of MessageTransport.
24 25 26 |
# File 'lib/brute/message_transport.rb', line 24 def initialize(result) @result = result end |
Class Method Details
.dump(message) ⇒ Object
Outbound: one Brute::Message in the library's format. Identity here.
15 16 17 |
# File 'lib/brute/message_transport.rb', line 15 def self.dump() end |
.dump_all(messages) ⇒ Object
Outbound: the whole log in the library's format.
20 21 22 |
# File 'lib/brute/message_transport.rb', line 20 def self.dump_all() .map { || dump() } end |
.wrap_each(result, &block) ⇒ Object
Convenience: Brute::MessageTransport.wrap_each(result) { |m| ... }
10 11 12 |
# File 'lib/brute/message_transport.rb', line 10 def self.wrap_each(result, &block) new(result).wrap_each(&block) end |
Instance Method Details
#messages ⇒ Object
The result normalized to a flat list of the library's messages. A single message, an array, or anything transcript-shaped (responds to #messages).
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/brute/message_transport.rb', line 40 def if @result.is_a?(Array) @result.compact else if @result.respond_to?(:messages) @result. else [@result].compact end end end |
#wrap_each ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/brute/message_transport.rb', line 28 def wrap_each if block_given? .each { || yield wrap() } else # https://docs.ruby-lang.org/en/4.0/Object.html#method-i-enum_for enum_for(:wrap_each) end end |