aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_cable/broadcaster.rb
blob: 7d8cc90970bcd28aa8b10c7d750aec5fc01e1188 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
module ActionCable
  class Broadcaster
    attr_reader :server, :channel, :redis
    delegate :logger, to: :server

    def initialize(server, channel)
      @server = server
      @channel = channel
      @redis = @server.threaded_redis
    end

    def broadcast(message)
      logger.info "[ActionCable] Broadcasting to #{channel}: #{message}"
      redis.publish channel, message.to_json
    end
  end
end