Class: Ollama::Transport::Mock
- Defined in:
- lib/ollama/transport/mock.rb
Overview
In-memory transport for deterministic tests.
Class Method Summary collapse
- .clear! ⇒ Object
- .enqueue(status: 200, headers: {}, body: "{}", duration_ms: 0.0) ⇒ Object
- .global_queue ⇒ Object
Instance Method Summary collapse
- #capabilities ⇒ Object
- #enqueue(status: 200, headers: {}, body: "{}", duration_ms: 0.0) ⇒ Object
-
#initialize(config) ⇒ Mock
constructor
A new instance of Mock.
- #request(uri:, request:, read_timeout:) ⇒ Object
- #stream(_uri:, _request:, &_block) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(config) ⇒ Mock
Returns a new instance of Mock.
21 22 23 24 |
# File 'lib/ollama/transport/mock.rb', line 21 def initialize(config) super @queue = [] end |
Class Method Details
.clear! ⇒ Object
12 13 14 |
# File 'lib/ollama/transport/mock.rb', line 12 def clear! global_queue.clear end |
.enqueue(status: 200, headers: {}, body: "{}", duration_ms: 0.0) ⇒ Object
16 17 18 |
# File 'lib/ollama/transport/mock.rb', line 16 def enqueue(status: 200, headers: {}, body: "{}", duration_ms: 0.0) global_queue << Response.new(status: status, headers: headers, body: body, raw: nil, duration_ms: duration_ms) end |
.global_queue ⇒ Object
8 9 10 |
# File 'lib/ollama/transport/mock.rb', line 8 def global_queue @global_queue ||= [] end |
Instance Method Details
#capabilities ⇒ Object
43 44 45 |
# File 'lib/ollama/transport/mock.rb', line 43 def capabilities %i[request mock] end |
#enqueue(status: 200, headers: {}, body: "{}", duration_ms: 0.0) ⇒ Object
26 27 28 |
# File 'lib/ollama/transport/mock.rb', line 26 def enqueue(status: 200, headers: {}, body: "{}", duration_ms: 0.0) @queue << Response.new(status: status, headers: headers, body: body, raw: nil, duration_ms: duration_ms) end |
#request(uri:, request:, read_timeout:) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/ollama/transport/mock.rb', line 30 def request(uri:, request:, read_timeout:) _ = [uri, request, read_timeout] response = @queue.shift || self.class.global_queue.shift raise Error, "No mocked response enqueued" unless response response end |
#stream(_uri:, _request:, &_block) ⇒ Object
39 40 41 |
# File 'lib/ollama/transport/mock.rb', line 39 def stream(_uri:, _request:, &_block) raise NotImplementedError, "Mock stream transport not implemented yet" end |