class EventflitClient::Channel
Attributes
callbacks[R]
global[RW]
logger[R]
name[R]
subscribed[RW]
user_data[R]
Public Class Methods
new(channel_name, user_data=nil, logger=EventflitClient.logger)
click to toggle source
# File lib/eventflit-client/channel.rb, line 7 def initialize(channel_name, user_data=nil, logger=EventflitClient.logger) @name = channel_name @user_data = user_data @logger = logger @global = false @callbacks = {} @subscribed = false end
Public Instance Methods
acknowledge_subscription(data)
click to toggle source
# File lib/eventflit-client/channel.rb, line 38 def acknowledge_subscription(data) @subscribed = true end
bind(event_name, &callback)
click to toggle source
# File lib/eventflit-client/channel.rb, line 16 def bind(event_name, &callback) EventflitClient.logger.debug "Binding #{event_name} to #{name}" @callbacks[event_name] = callbacks[event_name] || [] @callbacks[event_name] << callback return self end
dispatch(event_name, data)
click to toggle source
# File lib/eventflit-client/channel.rb, line 27 def dispatch(event_name, data) logger.debug("Dispatching #{global ? 'global ' : ''}callbacks for #{event_name}") if @callbacks[event_name] @callbacks[event_name].each do |callback| callback.call(data) end else logger.debug "No #{global ? 'global ' : ''}callbacks to dispatch for #{event_name}" end end
dispatch_with_all(event_name, data)
click to toggle source
# File lib/eventflit-client/channel.rb, line 23 def dispatch_with_all(event_name, data) dispatch(event_name, data) end