Sha256: 0d5dfa9b68ba685d672c0522c6e057f8d573d1360eb4a86d538a15ca1d1e6083
Contents?: true
Size: 729 Bytes
Versions: 8
Compression:
Stored size: 729 Bytes
Contents
module Faye class Subscription include Deferrable def initialize(client, channels, callback) @client = client @channels = channels @callback = callback @cancelled = false end def with_channel(&callback) @with_channel = callback self end def call(*args) message = args.first @callback.call(message['data']) if @callback @with_channel.call(message['channel'], message['data']) if @with_channel end def to_proc @to_proc ||= lambda { |*a| call(*a) } end def cancel return if @cancelled @client.unsubscribe(@channels, self) @cancelled = true end def unsubscribe cancel end end end
Version data entries
8 entries across 8 versions & 1 rubygems