Sha256: 4c9e5f29b1b3be2f7cef1d74248f3d4672073a939286fad47de0c09bfc15ffc2
Contents?: true
Size: 775 Bytes
Versions: 9
Compression:
Stored size: 775 Bytes
Contents
class ChannelTasks @@listeners = {} def initialize(channel, dispatcher) @channel = channel @dispatcher = dispatcher end def add_listener(channel_name) @@listeners[channel_name] ||= [] @@listeners[channel_name] << @channel end def remove_listener(channel_name) if @@listeners[channel_name] @@listeners[channel_name].delete(@channel) end end def self.send_message_to_channel(channel_name, message, skip_channel) listeners = @@listeners[channel_name] if listeners listeners.each do |listener| # We might need to skip a channel if the update came in on this # channel. next if listener == skip_channel listener.send_message(*message) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems