Method: Turbo::Broadcastable::ClassMethods#broadcasts_refreshes_to

Defined in:
app/models/concerns/turbo/broadcastable.rb

#broadcasts_refreshes_to(stream) ⇒ Object

Configures the model to broadcast a “page refresh” on creates, updates, and destroys to a stream name derived at runtime by the stream symbol invocation. Examples:

class Message < ApplicationRecord
  belongs_to :board
  broadcasts_refreshes_to :board
end

class Message < ApplicationRecord
  belongs_to :board
  broadcasts_refreshes_to ->(message) { [ message.board, :messages ] }
end


209
210
211
# File 'app/models/concerns/turbo/broadcastable.rb', line 209

def broadcasts_refreshes_to(stream)
  after_commit -> { broadcast_refresh_later_to(stream.try(:call, self) || send(stream)) }
end