From 0016e0410b11d40a1d730a1232c40f428d67abeb Mon Sep 17 00:00:00 2001 From: Jon Moss Date: Wed, 6 Jan 2016 17:16:02 -0500 Subject: Adapterize ActionCable storage and extract behavior --- actioncable/lib/action_cable/server/broadcasting.rb | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'actioncable/lib/action_cable/server/broadcasting.rb') diff --git a/actioncable/lib/action_cable/server/broadcasting.rb b/actioncable/lib/action_cable/server/broadcasting.rb index c759239a0e..847ef50971 100644 --- a/actioncable/lib/action_cable/server/broadcasting.rb +++ b/actioncable/lib/action_cable/server/broadcasting.rb @@ -1,5 +1,3 @@ -require 'redis' - module ActionCable module Server # Broadcasting is how other parts of your application can send messages to the channel subscribers. As explained in Channel, most of the time, these @@ -31,11 +29,6 @@ module ActionCable Broadcaster.new(self, broadcasting) end - # The redis instance used for broadcasting. Not intended for direct user use. - def broadcasting_redis - @broadcasting_redis ||= Redis.new(config.redis) - end - private class Broadcaster attr_reader :server, :broadcasting @@ -46,7 +39,8 @@ module ActionCable def broadcast(message) server.logger.info "[ActionCable] Broadcasting to #{broadcasting}: #{message}" - server.broadcasting_redis.publish broadcasting, ActiveSupport::JSON.encode(message) + broadcast_storage_adapter = server.config.storage_adapter.new(server).broadcast + broadcast_storage_adapter.publish broadcasting, ActiveSupport::JSON.encode(message) end end end -- cgit v1.2.3