class WebsocketRails::ChannelManager

Attributes

channels[R]
filtered_channels[R]

Public Class Methods

new() click to toggle source
# File lib/websocket_rails/channel_manager.rb, line 29
def initialize
  @channels = {}.with_indifferent_access
  @filtered_channels = {}.with_indifferent_access
end

Public Instance Methods

[](channel) click to toggle source
# File lib/websocket_rails/channel_manager.rb, line 44
def [](channel)
  @channels[channel] ||= Channel.new channel
end
channel_tokens() click to toggle source
# File lib/websocket_rails/channel_manager.rb, line 34
def channel_tokens
  @channel_tokens ||= begin
    if WebsocketRails.synchronize?
      ::Redis::HashKey.new('websocket_rails.channel_tokens', Synchronization.redis)
    else
      {}
    end
  end
end
unsubscribe(connection) click to toggle source
# File lib/websocket_rails/channel_manager.rb, line 48
def unsubscribe(connection)
  @channels.each do |channel_name, channel|
    channel.unsubscribe(connection)
  end
end