module Turbo::Broadcastable::ClassMethods
def broadcasts_to(stream, inserts_by: :append, target: broadcast_target_default, **rendering)
broadcasts_to ->(message) { [ message.board, :messages ] }, partial: "messages/custom_message"
belongs_to :board
class Message < ApplicationRecord
end
broadcasts_to ->(message) { [ message.board, :messages ] }, inserts_by: :prepend, target: "board_messages"
belongs_to :board
class Message < ApplicationRecord
end
broadcasts_to :board
belongs_to :board
class Message < ApplicationRecord
the target dom id overwritten by passing target. Examples:
the model's plural name. The insertion can also be made to be a prepend by overwriting inserts_by and
stream symbol invocation. By default, the creates are appended to a dom id target name derived from
Configures the model to broadcast creates, updates, and destroys to a stream name derived at runtime by the
def broadcasts_to(stream, inserts_by: :append, target: broadcast_target_default, **rendering) after_create_commit -> { broadcast_action_later_to(stream.try(:call, self) || send(stream), action: inserts_by, target: target.try(:call, self) || target, **rendering) } after_update_commit -> { broadcast_replace_later_to(stream.try(:call, self) || send(stream), **rendering) } after_destroy_commit -> { broadcast_remove_to(stream.try(:call, self) || send(stream)) } end