Class: Spikard::Testing::SseStream

Inherits:
Object
  • Object
show all
Defined in:
lib/spikard/testing.rb

Overview

SSE stream wrapper

Instance Method Summary collapse

Constructor Details

#initialize(native_sse) ⇒ SseStream

Returns a new instance of SseStream.



209
210
211
# File 'lib/spikard/testing.rb', line 209

def initialize(native_sse)
  @native_sse = native_sse
end

Instance Method Details

#bodyObject



213
214
215
# File 'lib/spikard/testing.rb', line 213

def body
  @native_sse.body
end

#eventsObject



217
218
219
# File 'lib/spikard/testing.rb', line 217

def events
  parsed_chunks.map { |chunk| InlineSseEvent.new(chunk) }
end

#events_as_jsonObject



221
222
223
224
225
226
227
# File 'lib/spikard/testing.rb', line 221

def events_as_json
  parsed_chunks.filter_map do |chunk|
    JSON.parse(chunk)
  rescue JSON::ParserError
    nil
  end
end