class ActionCable::Server::Broadcasting::Broadcaster

Attributes

broadcasting[R]
coder[R]
server[R]

Public Class Methods

new(server, broadcasting, coder:) click to toggle source
# File lib/action_cable/server/broadcasting.rb, line 38
def initialize(server, broadcasting, coder:)
  @server, @broadcasting, @coder = server, broadcasting, coder
end

Public Instance Methods

broadcast(message) click to toggle source
# File lib/action_cable/server/broadcasting.rb, line 42
def broadcast(message)
  server.logger.debug "[ActionCable] Broadcasting to #{broadcasting}: #{message.inspect}"

  payload = { broadcasting: broadcasting, message: message, coder: coder }
  ActiveSupport::Notifications.instrument("broadcast.action_cable", payload) do
    encoded = coder ? coder.encode(message) : message
    server.pubsub.broadcast broadcasting, encoded
  end
end