class Faye::Subscription
def call(*args)
def call(*args) message = args.first @callback.call(message['data']) if @callback @with_channel.call(message['channel'], message['data']) if @with_channel end
def cancel
def cancel return if @cancelled @client.unsubscribe(@channels, self) @cancelled = true end
def initialize(client, channels, callback)
def initialize(client, channels, callback) @client = client @channels = channels @callback = callback @cancelled = false end
def to_proc
def to_proc @to_proc ||= lambda { |*a| call(*a) } end
def unsubscribe
def unsubscribe cancel end
def with_channel(&callback)
def with_channel(&callback) @with_channel = callback self end