lib/websocket_rails/channel_manager.rb in websocket-rails-0.6.2 vs lib/websocket_rails/channel_manager.rb in websocket-rails-0.7.0
- old
+ new
@@ -1,5 +1,7 @@
+require 'redis-objects'
+
module WebsocketRails
class << self
def channel_manager
@@ -8,17 +10,31 @@
def [](channel)
channel_manager[channel]
end
+ def channel_tokens
+ channel_manager.channel_tokens
+ end
+
end
class ChannelManager
attr_reader :channels
def initialize
@channels = {}.with_indifferent_access
+ end
+
+ def channel_tokens
+ @channel_tokens ||= begin
+ if WebsocketRails.synchronize?
+ ::Redis::HashKey.new('websocket_rails.channel_tokens', Synchronization.redis)
+ else
+ {}
+ end
+ end
end
def [](channel)
@channels[channel] ||= Channel.new channel
end