class PusherClient::Channel
Attributes
callbacks[R]
global[RW]
global_callbacks[R]
name[R]
subscribed[RW]
Public Class Methods
new(channel_name)
click to toggle source
# File lib/pusher-client/channel.rb, line 6 def initialize(channel_name) @name = channel_name @global = false @callbacks = {} @global_callbacks = {} @subscribed = false end
Public Instance Methods
acknowledge_subscription(data)
click to toggle source
# File lib/pusher-client/channel.rb, line 47 def acknowledge_subscription(data) @subscribed = true end
bind(event_name, &callback)
click to toggle source
# File lib/pusher-client/channel.rb, line 14 def bind(event_name, &callback) @callbacks[event_name] = callbacks[event_name] || [] @callbacks[event_name] << callback return self end
dispatch(event_name, data)
click to toggle source
# File lib/pusher-client/channel.rb, line 25 def dispatch(event_name, data) PusherClient.logger.debug "Dispatching callbacks for #{event_name}" if @callbacks[event_name] @callbacks[event_name].each do |callback| callback.call(data) end else PusherClient.logger.debug "No callbacks to dispatch for #{event_name}" end end
dispatch_global_callbacks(event_name, data)
click to toggle source
# File lib/pusher-client/channel.rb, line 36 def dispatch_global_callbacks(event_name, data) if @global_callbacks[event_name] PusherClient.logger.debug "Dispatching global callbacks for #{event_name}" @global_callbacks[event_name].each do |callback| callback.call(data) end else PusherClient.logger.debug "No global callbacks to dispatch for #{event_name}" end end
dispatch_with_all(event_name, data)
click to toggle source
# File lib/pusher-client/channel.rb, line 20 def dispatch_with_all(event_name, data) dispatch(event_name, data) dispatch_global_callbacks(event_name, data) end