require 'pusher-client' PusherClient.logger = Logger.new(STDOUT) options = {:secret => YOUR_APP_SECRET} socket = PusherClient::Socket.new(YOUR_APP_KEY, options) # Subscribe to a public channel socket.subscribe('channel') # Subscribe to an authenticated channel (presence or private) socket.subscribe('presence-channel', 'user_id') # Subscribe to an authenticated channel with optional :user_info socket.subscribe('presence-channel', 'user_id', { :name => 'name' }) # Subscribe to array of channels ['channel1', 'channel2'].each do |c| socket.subscribe("presence-#{c}", 'user_id') end # Bind to global events (a catch-all for any 'event' across subscribed channels) socket.bind('event') do |data| puts data end # Bind to events that occur on a specific channel socket['channel'].bind('event') do |data| puts data end socket.connect