18 lines
451 B
Plaintext
18 lines
451 B
Plaintext
require 'datastar'
|
|
|
|
# Create a Datastar::Dispatcher instance
|
|
|
|
datastar = Datastar.new(request:, response:)
|
|
|
|
# In a Rack handler, you can instantiate from the Rack env
|
|
# datastar = Datastar.from_rack_env(env)
|
|
|
|
# Start a streaming response
|
|
datastar.stream do |sse|
|
|
# Merges fragment into the DOM
|
|
sse.merge_fragments %(<div id="question">What do you put in a toaster?</div>)
|
|
|
|
# Merges signals
|
|
sse.merge_signals(response: '', answer: 'bread')
|
|
end
|