Sha256: d90d38327ccce7cbed61f35b87b534920e37bbb18d6bea2c257adc1f98197777

Contents?: true

Size: 537 Bytes

Versions: 4

Compression:

Stored size: 537 Bytes

Contents

module WebsocketRails

  class << self

    def channel_manager
      @channel_manager ||= ChannelManager.new
    end

    def [](channel)
      channel_manager[channel]
    end

  end

  class ChannelManager

    attr_reader :channels

    def initialize
      @channels = {}.with_indifferent_access
    end

    def [](channel)
      @channels[channel] ||= Channel.new channel
    end

    def unsubscribe(connection)
      @channels.each do |channel_name, channel|
        channel.unsubscribe(connection)
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
websocket-rails-0.6.2 lib/websocket_rails/channel_manager.rb
websocket-rails-0.6.1 lib/websocket_rails/channel_manager.rb
websocket-rails-0.6.0 lib/websocket_rails/channel_manager.rb
websocket-rails-0.5.0 lib/websocket_rails/channel_manager.rb